diff --git a/include/clang/AST/BaseSubobject.h b/include/clang/AST/BaseSubobject.h index da538e3566a7ac738610220d51fa0539ef80543b..66af023c828e41b340c8ccb46cee41c03288f31d 100644 --- a/include/clang/AST/BaseSubobject.h +++ b/include/clang/AST/BaseSubobject.h @@ -15,13 +15,12 @@ #define LLVM_CLANG_AST_BASESUBOBJECT_H #include "clang/AST/CharUnits.h" +#include "clang/AST/DeclCXX.h" #include "llvm/ADT/DenseMap.h" #include "llvm/Support/DataTypes.h" #include "llvm/Support/type_traits.h" namespace clang { - class CXXRecordDecl; - // BaseSubobject - Uniquely identifies a direct or indirect base class. // Stores both the base class decl and the offset from the most derived class to // the base class. Used for vtable and VTT generation. diff --git a/include/clang/AST/DeclOpenMP.h b/include/clang/AST/DeclOpenMP.h index 598f418f7e3555edf68e0d7733dab5279a5c2a44..524e78eb3fa65e6c49915318e7c2d01d931508e1 100644 --- a/include/clang/AST/DeclOpenMP.h +++ b/include/clang/AST/DeclOpenMP.h @@ -17,6 +17,7 @@ #include "clang/AST/DeclBase.h" #include "llvm/ADT/ArrayRef.h" +#include "llvm/Support/TrailingObjects.h" namespace clang { class Expr; diff --git a/include/clang/AST/Mangle.h b/include/clang/AST/Mangle.h index 4872738e7a1eac3aba54ea6329ff522f6a1634f4..bf4b23c2673e4c56623acde8a875c6a687430d34 100644 --- a/include/clang/AST/Mangle.h +++ b/include/clang/AST/Mangle.h @@ -14,6 +14,7 @@ #ifndef LLVM_CLANG_AST_MANGLE_H #define LLVM_CLANG_AST_MANGLE_H +#include "clang/AST/Decl.h" #include "clang/AST/Type.h" #include "clang/Basic/ABI.h" #include "llvm/ADT/DenseMap.h" diff --git a/include/clang/AST/TemplateName.h b/include/clang/AST/TemplateName.h index 3e10d2fc4ad2a4eccd86d89cb548ba1f47bf3455..bf4d008ee807ada4e0ff72a040a7b241fc18c7f2 100644 --- a/include/clang/AST/TemplateName.h +++ b/include/clang/AST/TemplateName.h @@ -14,6 +14,7 @@ #ifndef LLVM_CLANG_AST_TEMPLATENAME_H #define LLVM_CLANG_AST_TEMPLATENAME_H +#include "clang/AST/NestedNameSpecifier.h" #include "clang/Basic/LLVM.h" #include "llvm/ADT/FoldingSet.h" #include "llvm/ADT/PointerUnion.h" diff --git a/include/clang/Sema/CodeCompleteConsumer.h b/include/clang/Sema/CodeCompleteConsumer.h index 97022738d03edbe1e75c574a8ad2790e94f0191f..768fe52a493b7e9168f06008c16914b0f32ab991 100644 --- a/include/clang/Sema/CodeCompleteConsumer.h +++ b/include/clang/Sema/CodeCompleteConsumer.h @@ -15,6 +15,7 @@ #include "clang-c/Index.h" #include "clang/AST/CanonicalType.h" +#include "clang/AST/DeclBase.h" #include "clang/AST/Type.h" #include "clang/Sema/CodeCompleteOptions.h" #include "llvm/ADT/DenseMap.h" diff --git a/include/clang/Sema/ObjCMethodList.h b/include/clang/Sema/ObjCMethodList.h index b618e38f88cd415731ca98db084365fa6e0b81f0..2c9350df7426dfef05218d10144781582895fd0c 100644 --- a/include/clang/Sema/ObjCMethodList.h +++ b/include/clang/Sema/ObjCMethodList.h @@ -14,6 +14,7 @@ #ifndef LLVM_CLANG_SEMA_OBJCMETHODLIST_H #define LLVM_CLANG_SEMA_OBJCMETHODLIST_H +#include "clang/AST/DeclObjC.h" #include "llvm/ADT/PointerIntPair.h" namespace clang { diff --git a/include/clang/Sema/Ownership.h b/include/clang/Sema/Ownership.h index dfde37495304be852e183493eac62f19a2027500..68d13f97e2e4f9c8c120efa79f150b73742760e1 100644 --- a/include/clang/Sema/Ownership.h +++ b/include/clang/Sema/Ownership.h @@ -14,6 +14,7 @@ #ifndef LLVM_CLANG_SEMA_OWNERSHIP_H #define LLVM_CLANG_SEMA_OWNERSHIP_H +#include "clang/AST/Expr.h" #include "clang/Basic/LLVM.h" #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/PointerIntPair.h" diff --git a/include/clang/Sema/Scope.h b/include/clang/Sema/Scope.h index dfc6f9c4628f02461725dcac5e97cf4b6744f6d4..4e96b7553d0f31621c4418549f9c6084b71ff8a5 100644 --- a/include/clang/Sema/Scope.h +++ b/include/clang/Sema/Scope.h @@ -14,6 +14,7 @@ #ifndef LLVM_CLANG_SEMA_SCOPE_H #define LLVM_CLANG_SEMA_SCOPE_H +#include "clang/AST/Decl.h" #include "clang/Basic/Diagnostic.h" #include "llvm/ADT/PointerIntPair.h" #include "llvm/ADT/SmallPtrSet.h" diff --git a/include/clang/Sema/SemaLambda.h b/include/clang/Sema/SemaLambda.h index d043e2c459b3c29ce1ce202eed0012c401405b39..df40b134f0a7dfc9c9d583836d52388e7254a4d6 100644 --- a/include/clang/Sema/SemaLambda.h +++ b/include/clang/Sema/SemaLambda.h @@ -18,7 +18,7 @@ #include "clang/AST/ASTLambda.h" #include "clang/Sema/ScopeInfo.h" namespace clang { - +class Sema; /// \brief Examines the FunctionScopeInfo stack to determine the nearest /// enclosing lambda (to the current lambda) that is 'capture-capable' for diff --git a/lib/CodeGen/CGOpenMPRuntime.h b/lib/CodeGen/CGOpenMPRuntime.h index b3256375d9b6591b121ee3799b2c4ca20c6a68a1..897b234caaef89cad979a574db019592a2e39225 100644 --- a/lib/CodeGen/CGOpenMPRuntime.h +++ b/lib/CodeGen/CGOpenMPRuntime.h @@ -18,14 +18,14 @@ #include "clang/Basic/OpenMPKinds.h" #include "clang/Basic/SourceLocation.h" #include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/DenseSet.h" +#include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/StringMap.h" +#include "llvm/IR/Function.h" #include "llvm/IR/ValueHandle.h" namespace llvm { class ArrayType; class Constant; -class Function; class FunctionType; class GlobalVariable; class StructType; @@ -530,7 +530,7 @@ private: const llvm::Twine &Name); /// \brief Set of threadprivate variables with the generated initializer. - llvm::DenseSet<const VarDecl *> ThreadPrivateWithDefinition; + llvm::SmallPtrSet<const VarDecl *, 4> ThreadPrivateWithDefinition; /// \brief Emits initialization code for the threadprivate variables. /// \param VDAddr Address of the global variable \a VD. diff --git a/lib/CodeGen/CodeGenTBAA.h b/lib/CodeGen/CodeGenTBAA.h index 632caddce9801445ab39281af949c8eb171be704..ddb063d9e88a2dd449064072664ee5c83486498c 100644 --- a/lib/CodeGen/CodeGenTBAA.h +++ b/lib/CodeGen/CodeGenTBAA.h @@ -15,14 +15,11 @@ #ifndef LLVM_CLANG_LIB_CODEGEN_CODEGENTBAA_H #define LLVM_CLANG_LIB_CODEGEN_CODEGENTBAA_H +#include "clang/AST/Type.h" #include "clang/Basic/LLVM.h" #include "llvm/ADT/DenseMap.h" #include "llvm/IR/MDBuilder.h" - -namespace llvm { - class LLVMContext; - class MDNode; -} +#include "llvm/IR/Metadata.h" namespace clang { class ASTContext;