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;