From e91593ef084479340582b2ba177b44be50a717b7 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Mon, 11 Aug 2008 04:54:23 +0000 Subject: [PATCH] More #include cleaning - Drop Expr.h,RecordLayout.h from ASTContext.h (for DeclBase.h and SourceLocation.h) - Move ASTContext constructor into implementation git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54627 91177308-0d34-0410-b5e6-96231b3b80d8 --- Driver/HTMLDiagnostics.cpp | 5 +++-- Driver/HTMLPrint.cpp | 1 + Driver/SerializationTest.cpp | 1 + Driver/clang.cpp | 1 + include/clang/AST/ASTContext.h | 30 ++++++++++++++++-------------- lib/AST/ASTContext.cpp | 14 ++++++++++++++ lib/AST/Builtins.cpp | 1 + lib/AST/Decl.cpp | 2 ++ lib/AST/DeclBase.cpp | 1 + lib/AST/DeclObjC.cpp | 1 + lib/AST/Expr.cpp | 1 + lib/CodeGen/CGDebugInfo.cpp | 2 ++ lib/CodeGen/CGObjCGNU.cpp | 1 + lib/CodeGen/CGObjCMac.cpp | 1 + lib/CodeGen/CGObjCRuntime.h | 1 + lib/CodeGen/CodeGenTypes.cpp | 1 + lib/CodeGen/ModuleBuilder.cpp | 2 ++ lib/Sema/ParseAST.cpp | 2 ++ lib/Sema/Sema.cpp | 1 + lib/Sema/SemaType.cpp | 1 + 20 files changed, 54 insertions(+), 16 deletions(-) diff --git a/Driver/HTMLDiagnostics.cpp b/Driver/HTMLDiagnostics.cpp index 869ec39bec..0675ec277d 100644 --- a/Driver/HTMLDiagnostics.cpp +++ b/Driver/HTMLDiagnostics.cpp @@ -12,10 +12,11 @@ //===----------------------------------------------------------------------===// #include "HTMLDiagnostics.h" +#include "clang/Analysis/PathDiagnostic.h" +#include "clang/AST/ASTContext.h" +#include "clang/AST/Decl.h" #include "clang/Basic/SourceManager.h" #include "clang/Basic/FileManager.h" -#include "clang/AST/ASTContext.h" -#include "clang/Analysis/PathDiagnostic.h" #include "clang/Rewrite/Rewriter.h" #include "clang/Rewrite/HTMLRewrite.h" #include "clang/Lex/Lexer.h" diff --git a/Driver/HTMLPrint.cpp b/Driver/HTMLPrint.cpp index b06d52df86..0956c2bca5 100644 --- a/Driver/HTMLPrint.cpp +++ b/Driver/HTMLPrint.cpp @@ -13,6 +13,7 @@ #include "ASTConsumers.h" #include "clang/AST/ASTConsumer.h" +#include "clang/AST/Decl.h" #include "clang/Rewrite/Rewriter.h" #include "clang/Rewrite/HTMLRewrite.h" #include "clang/Basic/Diagnostic.h" diff --git a/Driver/SerializationTest.cpp b/Driver/SerializationTest.cpp index cafc502f26..50d06d4d77 100644 --- a/Driver/SerializationTest.cpp +++ b/Driver/SerializationTest.cpp @@ -16,6 +16,7 @@ #include "clang/AST/ASTConsumer.h" #include "clang/AST/CFG.h" +#include "clang/AST/Decl.h" #include "clang.h" #include "ASTConsumers.h" #include "clang/AST/TranslationUnit.h" diff --git a/Driver/clang.cpp b/Driver/clang.cpp index f35e318933..05befe08c1 100644 --- a/Driver/clang.cpp +++ b/Driver/clang.cpp @@ -28,6 +28,7 @@ #include "clang/Driver/TextDiagnosticBuffer.h" #include "clang/Driver/TextDiagnosticPrinter.h" #include "clang/Analysis/PathDiagnostic.h" +#include "clang/AST/Decl.h" #include "clang/AST/TranslationUnit.h" #include "clang/CodeGen/ModuleBuilder.h" #include "clang/Sema/ParseAST.h" diff --git a/include/clang/AST/ASTContext.h b/include/clang/AST/ASTContext.h index 0959b059ee..671fa4c025 100644 --- a/include/clang/AST/ASTContext.h +++ b/include/clang/AST/ASTContext.h @@ -16,11 +16,10 @@ #include "clang/Basic/LangOptions.h" #include "clang/AST/Builtins.h" -#include "clang/AST/Expr.h" -#include "clang/AST/RecordLayout.h" +#include "clang/AST/DeclBase.h" #include "clang/AST/Type.h" +#include "clang/Basic/SourceLocation.h" #include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/StringMap.h" #include "llvm/ADT/FoldingSet.h" #include "llvm/Bitcode/SerializationFwd.h" #include "llvm/Support/Allocator.h" @@ -31,9 +30,20 @@ namespace llvm { } namespace clang { - class TargetInfo; + class ASTRecordLayout; + class Expr; class IdentifierTable; - + class TargetInfo; + class SelectorTable; + class SourceManager; + // Decls + class Decl; + class RecordDecl; + class TagDecl; + class TranslationUnitDecl; + class TypeDecl; + class TypedefDecl; + /// ASTContext - This class holds long-lived AST nodes (such as types and /// decls) that can be referred to throughout the semantic analysis of a file. class ASTContext { @@ -128,15 +138,7 @@ public: ASTContext(const LangOptions& LOpts, SourceManager &SM, TargetInfo &t, IdentifierTable &idents, SelectorTable &sels, - unsigned size_reserve=0 ) : - CFConstantStringTypeDecl(0), SourceMgr(SM), LangOpts(LOpts), Target(t), - Idents(idents), Selectors(sels) { - - if (size_reserve > 0) Types.reserve(size_reserve); - InitBuiltinTypes(); - BuiltinInfo.InitializeBuiltins(idents, Target); - TUDecl = TranslationUnitDecl::Create(*this); - } + unsigned size_reserve=0); ~ASTContext(); diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp index 0325ba5734..5c39c2b539 100644 --- a/lib/AST/ASTContext.cpp +++ b/lib/AST/ASTContext.cpp @@ -15,6 +15,8 @@ #include "clang/AST/Decl.h" #include "clang/AST/DeclCXX.h" #include "clang/AST/DeclObjC.h" +#include "clang/AST/Expr.h" +#include "clang/AST/RecordLayout.h" #include "clang/Basic/TargetInfo.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringExtras.h" @@ -27,6 +29,18 @@ enum FloatingRank { FloatRank, DoubleRank, LongDoubleRank }; +ASTContext::ASTContext(const LangOptions& LOpts, SourceManager &SM, TargetInfo &t, + IdentifierTable &idents, SelectorTable &sels, + unsigned size_reserve) : + CFConstantStringTypeDecl(0), SourceMgr(SM), LangOpts(LOpts), Target(t), + Idents(idents), Selectors(sels) +{ + if (size_reserve > 0) Types.reserve(size_reserve); + InitBuiltinTypes(); + BuiltinInfo.InitializeBuiltins(idents, Target); + TUDecl = TranslationUnitDecl::Create(*this); +} + ASTContext::~ASTContext() { // Deallocate all the types. while (!Types.empty()) { diff --git a/lib/AST/Builtins.cpp b/lib/AST/Builtins.cpp index e2bf5ca007..8249c4119d 100644 --- a/lib/AST/Builtins.cpp +++ b/lib/AST/Builtins.cpp @@ -13,6 +13,7 @@ #include "clang/AST/Builtins.h" #include "clang/AST/ASTContext.h" +#include "clang/AST/Decl.h" #include "clang/Basic/IdentifierTable.h" #include "clang/Basic/TargetInfo.h" using namespace clang; diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp index 7930c90953..3cc12c9a86 100644 --- a/lib/AST/Decl.cpp +++ b/lib/AST/Decl.cpp @@ -13,6 +13,8 @@ #include "clang/AST/Decl.h" #include "clang/AST/ASTContext.h" +#include "clang/AST/Stmt.h" +#include "clang/Basic/IdentifierTable.h" using namespace clang; diff --git a/lib/AST/DeclBase.cpp b/lib/AST/DeclBase.cpp index 3750542132..f48b7346e2 100644 --- a/lib/AST/DeclBase.cpp +++ b/lib/AST/DeclBase.cpp @@ -12,6 +12,7 @@ //===----------------------------------------------------------------------===// #include "clang/AST/DeclBase.h" +#include "clang/AST/DeclObjC.h" #include "clang/AST/DeclCXX.h" #include "clang/AST/ASTContext.h" #include "llvm/ADT/DenseMap.h" diff --git a/lib/AST/DeclObjC.cpp b/lib/AST/DeclObjC.cpp index 9ba6e86cf0..a793ac608d 100644 --- a/lib/AST/DeclObjC.cpp +++ b/lib/AST/DeclObjC.cpp @@ -13,6 +13,7 @@ #include "clang/AST/DeclObjC.h" #include "clang/AST/ASTContext.h" +#include "clang/AST/Stmt.h" using namespace clang; //===----------------------------------------------------------------------===// diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp index 97e1897424..b66ec08b9b 100644 --- a/lib/AST/Expr.cpp +++ b/lib/AST/Expr.cpp @@ -14,6 +14,7 @@ #include "clang/AST/ExprObjC.h" #include "clang/AST/ASTContext.h" #include "clang/AST/APValue.h" +#include "clang/AST/RecordLayout.h" #include "clang/AST/StmtVisitor.h" #include "clang/Basic/IdentifierTable.h" #include "clang/Basic/TargetInfo.h" diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp index 1a7e4dbab1..d6902bb93e 100644 --- a/lib/CodeGen/CGDebugInfo.cpp +++ b/lib/CodeGen/CGDebugInfo.cpp @@ -14,6 +14,8 @@ #include "CGDebugInfo.h" #include "CodeGenModule.h" #include "clang/AST/ASTContext.h" +#include "clang/AST/Decl.h" +#include "clang/AST/RecordLayout.h" #include "clang/Basic/SourceManager.h" #include "clang/Basic/FileManager.h" #include "llvm/Constants.h" diff --git a/lib/CodeGen/CGObjCGNU.cpp b/lib/CodeGen/CGObjCGNU.cpp index 9c8d32da44..d77ae05939 100644 --- a/lib/CodeGen/CGObjCGNU.cpp +++ b/lib/CodeGen/CGObjCGNU.cpp @@ -17,6 +17,7 @@ #include "CGObjCRuntime.h" #include "CodeGenModule.h" #include "clang/AST/ASTContext.h" +#include "clang/AST/Decl.h" #include "llvm/Module.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/IRBuilder.h" diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp index af3745feed..b9d6221f09 100644 --- a/lib/CodeGen/CGObjCMac.cpp +++ b/lib/CodeGen/CGObjCMac.cpp @@ -14,6 +14,7 @@ #include "CGObjCRuntime.h" #include "CodeGenModule.h" #include "clang/AST/ASTContext.h" +#include "clang/AST/Decl.h" #include "llvm/Module.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/IRBuilder.h" diff --git a/lib/CodeGen/CGObjCRuntime.h b/lib/CodeGen/CGObjCRuntime.h index 109d27422f..c03857fab0 100644 --- a/lib/CodeGen/CGObjCRuntime.h +++ b/lib/CodeGen/CGObjCRuntime.h @@ -15,6 +15,7 @@ #ifndef CLANG_CODEGEN_OBCJRUNTIME_H #define CLANG_CODEGEN_OBCJRUNTIME_H +#include "clang/Basic/IdentifierTable.h" // Selector #include "llvm/ADT/SmallVector.h" #include diff --git a/lib/CodeGen/CodeGenTypes.cpp b/lib/CodeGen/CodeGenTypes.cpp index 649a6f93d5..dcdacf3279 100644 --- a/lib/CodeGen/CodeGenTypes.cpp +++ b/lib/CodeGen/CodeGenTypes.cpp @@ -14,6 +14,7 @@ #include "CodeGenTypes.h" #include "clang/Basic/TargetInfo.h" #include "clang/AST/AST.h" +#include "clang/AST/RecordLayout.h" #include "llvm/DerivedTypes.h" #include "llvm/Module.h" #include "llvm/Target/TargetData.h" diff --git a/lib/CodeGen/ModuleBuilder.cpp b/lib/CodeGen/ModuleBuilder.cpp index b654df744c..176d39e85d 100644 --- a/lib/CodeGen/ModuleBuilder.cpp +++ b/lib/CodeGen/ModuleBuilder.cpp @@ -15,6 +15,8 @@ #include "CodeGenModule.h" #include "clang/AST/ASTContext.h" #include "clang/AST/Decl.h" +#include "clang/AST/DeclObjC.h" +#include "clang/AST/Expr.h" using namespace clang; //===----------------------------------------------------------------------===// diff --git a/lib/Sema/ParseAST.cpp b/lib/Sema/ParseAST.cpp index 43736e32ac..603cea0e5c 100644 --- a/lib/Sema/ParseAST.cpp +++ b/lib/Sema/ParseAST.cpp @@ -14,6 +14,8 @@ #include "clang/Sema/ParseAST.h" #include "clang/AST/ASTContext.h" #include "clang/AST/ASTConsumer.h" +#include "clang/AST/DeclObjC.h" +#include "clang/AST/Stmt.h" #include "clang/AST/TranslationUnit.h" #include "Sema.h" #include "clang/Parse/Action.h" diff --git a/lib/Sema/Sema.cpp b/lib/Sema/Sema.cpp index bf9f7a0bb3..8be821290b 100644 --- a/lib/Sema/Sema.cpp +++ b/lib/Sema/Sema.cpp @@ -14,6 +14,7 @@ #include "Sema.h" #include "clang/AST/ASTContext.h" +#include "clang/AST/Expr.h" #include "clang/Lex/Preprocessor.h" #include "clang/Basic/Diagnostic.h" #include "clang/Parse/Scope.h" diff --git a/lib/Sema/SemaType.cpp b/lib/Sema/SemaType.cpp index 30af618c26..56231c58e7 100644 --- a/lib/Sema/SemaType.cpp +++ b/lib/Sema/SemaType.cpp @@ -15,6 +15,7 @@ #include "clang/AST/ASTContext.h" #include "clang/AST/Decl.h" #include "clang/AST/DeclObjC.h" +#include "clang/AST/Expr.h" #include "clang/Basic/Diagnostic.h" #include "clang/Basic/LangOptions.h" #include "clang/Parse/DeclSpec.h" -- 2.40.0