]> granicus.if.org Git - clang/commitdiff
make the sourcemgr available through ASTContext.
authorChris Lattner <sabre@nondot.org>
Thu, 13 Sep 2007 01:14:03 +0000 (01:14 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 13 Sep 2007 01:14:03 +0000 (01:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41906 91177308-0d34-0410-b5e6-96231b3b80d8

Analysis/DeadStores.cpp
Driver/ASTStreamers.cpp
Driver/LLVMCodegen.cpp
include/clang/AST/ASTContext.h

index 91034e389444e8bb303cb8f5268701ad89242f7d..e898f3ca5715c9c682fb4f32f5036d22e9dfb3e4 100644 (file)
@@ -29,7 +29,9 @@ class DeadStoreObserver : public LiveVariablesObserver {
   ASTContext Ctx;
 public:
   DeadStoreObserver(Preprocessor& pp) : 
-    PP(pp), Ctx(PP.getTargetInfo(), PP.getIdentifierTable()) {}
+    PP(pp), Ctx(PP.getSourceManager(), PP.getTargetInfo(),
+                PP.getIdentifierTable()) {
+  }
     
   virtual ~DeadStoreObserver() {}
 
index 6fe6fac41112344f1f2090740b18f1a1237667b8..342ee6b32763879df400ff2293e9d85dfac2516f 100644 (file)
@@ -27,7 +27,8 @@ void clang::BuildASTs(Preprocessor &PP, unsigned MainFileID, bool Stats) {
     Stmt::CollectingStats(true);
   }
 
-  ASTContext Context(PP.getTargetInfo(), PP.getIdentifierTable());
+  ASTContext Context(PP.getSourceManager(), PP.getTargetInfo(),
+                     PP.getIdentifierTable());
   ASTStreamerTy *Streamer = ASTStreamer_Init(PP, Context, MainFileID);
 
   while (ASTStreamer_ReadTopLevelDecl(Streamer))
@@ -106,7 +107,8 @@ static void PrintObjcInterfaceDecl(ObjcInterfaceDecl *OID) {
 }
 
 void clang::PrintASTs(Preprocessor &PP, unsigned MainFileID, bool Stats) {
-  ASTContext Context(PP.getTargetInfo(), PP.getIdentifierTable());
+  ASTContext Context(PP.getSourceManager(), PP.getTargetInfo(),
+                     PP.getIdentifierTable());
   ASTStreamerTy *Streamer = ASTStreamer_Init(PP, Context, MainFileID);
   
   while (Decl *D = ASTStreamer_ReadTopLevelDecl(Streamer)) {
@@ -137,7 +139,8 @@ void clang::PrintASTs(Preprocessor &PP, unsigned MainFileID, bool Stats) {
 }
 
 void clang::DumpASTs(Preprocessor &PP, unsigned MainFileID, bool Stats) {
-  ASTContext Context(PP.getTargetInfo(), PP.getIdentifierTable());
+  ASTContext Context(PP.getSourceManager(), PP.getTargetInfo(),
+                     PP.getIdentifierTable());
   ASTStreamerTy *Streamer = ASTStreamer_Init(PP, Context, MainFileID);
   
   while (Decl *D = ASTStreamer_ReadTopLevelDecl(Streamer)) {
@@ -184,7 +187,8 @@ static void VisitCFGs(CFGVisitor& Visitor, Preprocessor& PP,
                       unsigned MainFileID, bool Stats) {
 
   bool printFDecl = Visitor.printFuncDeclStart();
-  ASTContext Context(PP.getTargetInfo(), PP.getIdentifierTable());
+  ASTContext Context(PP.getSourceManager(), PP.getTargetInfo(),
+                     PP.getIdentifierTable());
   ASTStreamerTy *Streamer = ASTStreamer_Init(PP, Context, MainFileID);
   
   while (Decl *D = ASTStreamer_ReadTopLevelDecl(Streamer)) {
index b969ff81cad659ba7c2d7971e11206f7d0d6d981..95d23f584e2518f60d19d142c396bc2b236f7e98 100644 (file)
@@ -29,7 +29,8 @@ void clang::EmitLLVMFromASTs(Preprocessor &PP, unsigned MainFileID,
                              bool PrintStats) {
   Diagnostic &Diags = PP.getDiagnostics();
   // Create the streamer to read the file.
-  ASTContext Context(PP.getTargetInfo(), PP.getIdentifierTable());
+  ASTContext Context(PP.getSourceManager(), PP.getTargetInfo(),
+                     PP.getIdentifierTable());
   ASTStreamerTy *Streamer = ASTStreamer_Init(PP, Context, MainFileID);
   
   // Create the module to codegen into.
index f1e0959e0c3e7de76d25e02bfce6a06e3de2637b..cc7ac8e0a95aadda1e7c8c7d5a16a11cbc9b143c 100644 (file)
@@ -40,6 +40,7 @@ class ASTContext {
   RecordDecl *CFConstantStringTypeDecl;
   llvm::StringMap<char> SelectorNames;
 public:
+  SourceManager &SourceMgr;
   TargetInfo &Target;
   IdentifierTable &Idents;
   Builtin::Context BuiltinInfo;
@@ -54,8 +55,8 @@ public:
   QualType FloatTy, DoubleTy, LongDoubleTy;
   QualType FloatComplexTy, DoubleComplexTy, LongDoubleComplexTy;
   
-  ASTContext(TargetInfo &t, IdentifierTable &idents) : 
-    CFConstantStringTypeDecl(0), Target(t), Idents(idents) {
+  ASTContext(SourceManager &SM, TargetInfo &t, IdentifierTable &idents) : 
+    CFConstantStringTypeDecl(0), SourceMgr(SM), Target(t), Idents(idents) {
     InitBuiltinTypes();
     BuiltinInfo.InitializeBuiltins(idents, Target);
   }