Removed "SourceFile" from TranslationUnit. This same information will (soon)
be available by querying the SourceManager within the ASTContext referenced by
the TranslationUnit.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45223 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/ASTConsumers.cpp b/Driver/ASTConsumers.cpp
index 202e030..02e30d3 100644
--- a/Driver/ASTConsumers.cpp
+++ b/Driver/ASTConsumers.cpp
@@ -614,10 +614,9 @@
     TranslationUnit TU;
     const llvm::sys::Path FName;
   public:
-    ASTSerializer(const std::string& SourceFile,
-                  const llvm::sys::Path& F, Diagnostic &diags,
+    ASTSerializer(const llvm::sys::Path& F, Diagnostic &diags,
                   const LangOptions &LO)
-    : Diags(diags), TU(SourceFile,LO), FName(F) {}
+    : Diags(diags), TU(LO), FName(F) {}
     
     virtual void Initialize(ASTContext &Context, unsigned MainFileID) {
       TU.setContext(&Context);
@@ -637,7 +636,7 @@
 } // end anonymous namespace
 
 
-ASTConsumer* clang::CreateASTSerializer(const std::string& SourceFile,
+ASTConsumer* clang::CreateASTSerializer(const std::string& InFile,
                                         Diagnostic &Diags,
                                         const LangOptions &Features) {
   // FIXME: If the translation unit we are serializing came was itself
@@ -646,15 +645,15 @@
   //        be completely replaced momentarily.
   
   // FIXME: This is a hack: "/" separator not portable.
-  std::string::size_type idx = SourceFile.rfind("/");
+  std::string::size_type idx = InFile.rfind("/");
   
-  if (idx != std::string::npos && idx == SourceFile.size()-1)
+  if (idx != std::string::npos && idx == InFile.size()-1)
     return NULL;
   
   std::string TargetPrefix( idx == std::string::npos ?
-                           SourceFile : SourceFile.substr(idx+1));
+                           InFile : InFile.substr(idx+1));
   
   llvm::sys::Path FName = llvm::sys::Path((TargetPrefix + ".ast").c_str());
   
-  return new ASTSerializer(SourceFile, FName, Diags, Features);
+  return new ASTSerializer(FName, Diags, Features);
 }
diff --git a/Driver/ASTConsumers.h b/Driver/ASTConsumers.h
index 44f763e..d37e5fc 100644
--- a/Driver/ASTConsumers.h
+++ b/Driver/ASTConsumers.h
@@ -26,20 +26,30 @@
 struct LangOptions;
 
 ASTConsumer *CreateASTPrinter(std::ostream* OS = NULL);
+
 ASTConsumer *CreateASTDumper();
+
 ASTConsumer *CreateASTViewer();
+
 ASTConsumer *CreateCFGDumper(bool ViewGraphs = false);
+
 ASTConsumer *CreateLiveVarAnalyzer();
+
 ASTConsumer *CreateDeadStoreChecker(Diagnostic &Diags);
+
 ASTConsumer *CreateUnitValsChecker(Diagnostic &Diags);
+
 ASTConsumer *CreateLLVMEmitter(Diagnostic &Diags, const LangOptions &Features);
+
 ASTConsumer *CreateCodeRewriterTest(Diagnostic &Diags);
-ASTConsumer *CreateSerializationTest(const std::string& SourceFile,
-                                     Diagnostic &Diags, FileManager& FMgr, 
+
+ASTConsumer *CreateSerializationTest(Diagnostic &Diags,
+                                     FileManager& FMgr, 
                                      const LangOptions &LOpts);
   
-ASTConsumer *CreateASTSerializer(const std::string& SourceFile,
-                                 Diagnostic &Diags, const LangOptions &LOpts);
+ASTConsumer *CreateASTSerializer(const std::string& InFile, 
+                                 Diagnostic &Diags,
+                                 const LangOptions &LOpts);
 
 } // end clang namespace
 
diff --git a/Driver/SerializationTest.cpp b/Driver/SerializationTest.cpp
index acb9164..d43b570 100644
--- a/Driver/SerializationTest.cpp
+++ b/Driver/SerializationTest.cpp
@@ -37,9 +37,8 @@
   Diagnostic &Diags;
   FileManager &FMgr;  
 public:  
-  SerializationTest(const std::string& SourceFile, Diagnostic &d,
-                    FileManager& fmgr, const LangOptions& LOpts)
-                    : TU(SourceFile, LOpts), Diags(d), FMgr(fmgr) {}
+  SerializationTest(Diagnostic &d, FileManager& fmgr, const LangOptions& LOpts)
+                    : TU(LOpts), Diags(d), FMgr(fmgr) {}
   
   ~SerializationTest();
 
@@ -59,9 +58,10 @@
 } // end anonymous namespace
 
 ASTConsumer*
-clang::CreateSerializationTest(const std::string& SourceFile, Diagnostic &Diags,
-                               FileManager& FMgr, const LangOptions &LOpts) {  
-  return new SerializationTest(SourceFile,Diags,FMgr,LOpts);
+clang::CreateSerializationTest(Diagnostic &Diags, FileManager& FMgr,
+                               const LangOptions &LOpts) {
+  
+  return new SerializationTest(Diags,FMgr,LOpts);
 }
 
 
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index 259339c..63f4349 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -894,7 +894,7 @@
 /// CreateASTConsumer - Create the ASTConsumer for the corresponding program
 ///  action.  These consumers can operate on both ASTs that are freshly
 ///  parsed from source files as well as those deserialized from Bitcode.
-static ASTConsumer* CreateASTConsumer(const std::string& SourceFile,
+static ASTConsumer* CreateASTConsumer(const std::string& InFile,
                                       Diagnostic& Diag, FileManager& FileMgr, 
                                       const LangOptions& LangOpts) {
   switch (ProgAction) {
@@ -924,14 +924,14 @@
       return CreateUnitValsChecker(Diag);
       
     case TestSerialization:
-      return CreateSerializationTest(SourceFile, Diag, FileMgr, LangOpts);
+      return CreateSerializationTest(Diag, FileMgr, LangOpts);
       
     case EmitLLVM:
       return CreateLLVMEmitter(Diag, LangOpts);
       
     case SerializeAST:
       // FIXME: Allow user to tailor where the file is written.
-      return CreateASTSerializer(SourceFile, Diag, LangOpts);
+      return CreateASTSerializer(InFile, Diag, LangOpts);
       
     case RewriteTest:
       return CreateCodeRewriterTest(Diag);
@@ -941,7 +941,7 @@
 /// ProcessInputFile - Process a single input file with the specified state.
 ///
 static void ProcessInputFile(Preprocessor &PP, unsigned MainFileID,
-                             const std::string &SourceFile,
+                             const std::string &InFile,
                              TextDiagnostics &OurDiagnosticClient) {
 
   ASTConsumer* Consumer = NULL;
@@ -949,7 +949,8 @@
   
   switch (ProgAction) {
   default:
-    Consumer = CreateASTConsumer(SourceFile, PP.getDiagnostics(),
+    Consumer = CreateASTConsumer(InFile,
+                                 PP.getDiagnostics(),
                                  PP.getFileManager(),
                                  PP.getLangOptions());
     
@@ -957,6 +958,7 @@
       fprintf(stderr, "Unexpected program action!\n");
       return;
     }
+
     break;
       
   case DumpTokens: {                 // Token dump mode.
@@ -1012,7 +1014,7 @@
   }
   
   if (Stats) {
-    fprintf(stderr, "\nSTATISTICS FOR '%s':\n", SourceFile.c_str());
+    fprintf(stderr, "\nSTATISTICS FOR '%s':\n", InFile.c_str());
     PP.PrintStats();
     PP.getIdentifierTable().PrintStats();
     PP.getHeaderSearchInfo().PrintStats();
@@ -1054,8 +1056,7 @@
   // Observe that we use the source file name stored in the deserialized
   // translation unit, rather than InFile.
   llvm::scoped_ptr<ASTConsumer>
-    Consumer(CreateASTConsumer(TU->getSourceFile(), Diag, FileMgr,
-                               TU->getLangOpts()));
+    Consumer(CreateASTConsumer(InFile, Diag, FileMgr, TU->getLangOpts()));
   
   if (!Consumer) {      
     fprintf(stderr, "Unsupported program action with serialized ASTs!\n");