Eliminate header dependency ASTContext -> TargetInfo
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58613 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang/AST/ASTContext.h b/include/clang/AST/ASTContext.h
index 9f3d690..4f30e82 100644
--- a/include/clang/AST/ASTContext.h
+++ b/include/clang/AST/ASTContext.h
@@ -15,7 +15,6 @@
#define LLVM_CLANG_AST_ASTCONTEXT_H
#include "clang/Basic/LangOptions.h"
-#include "clang/Basic/TargetInfo.h"
#include "clang/AST/Builtins.h"
#include "clang/AST/DeclBase.h"
#include "clang/AST/Type.h"
@@ -36,6 +35,7 @@
class IdentifierTable;
class SelectorTable;
class SourceManager;
+ class TargetInfo;
// Decls
class Decl;
class ObjCPropertyDecl;
@@ -319,12 +319,14 @@
void setBuiltinVaListType(QualType T);
QualType getBuiltinVaListType() const { return BuiltinVaListType; }
- QualType getFromTargetType(TargetInfo::IntType Type) const;
+private:
+ QualType getFromTargetType(unsigned Type) const;
//===--------------------------------------------------------------------===//
// Type Predicates.
//===--------------------------------------------------------------------===//
-
+
+public:
/// isObjCObjectPointerType - Returns true if type is an Objective-C pointer
/// to an object type. This includes "id" and "Class" (two 'special' pointers
/// to struct), Interface* (pointer to ObjCInterfaceType) and id<P> (qualified
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp
index 0e25028..1aea5b5 100644
--- a/lib/AST/ASTContext.cpp
+++ b/lib/AST/ASTContext.cpp
@@ -1793,8 +1793,9 @@
}
/// getFromTargetType - Given one of the integer types provided by
-/// TargetInfo, produce the corresponding type.
-QualType ASTContext::getFromTargetType(TargetInfo::IntType Type) const {
+/// TargetInfo, produce the corresponding type. The unsigned @p Type
+/// is actually a value of type @c TargetInfo::IntType.
+QualType ASTContext::getFromTargetType(unsigned Type) const {
switch (Type) {
case TargetInfo::NoInt: return QualType();
case TargetInfo::SignedShort: return ShortTy;