Added methods createMainFileID() and createMainFileIDForMemBuffer() to
SourceManager to allow SourceManager to directly intern the MainFileID
when it is created.  Removed setMainFileID().


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45231 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index f38c83a..4ac14ad 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -530,19 +530,18 @@
   FileManager &FileMgr = PP.getFileManager();
   
   // Figure out where to get and map in the main file.
-  unsigned MainFileID = 0;
   SourceManager &SourceMgr = PP.getSourceManager();
   if (InFile != "-") {
     const FileEntry *File = FileMgr.getFile(InFile);
-    if (File) MainFileID = SourceMgr.createFileID(File, SourceLocation());
-    if (MainFileID == 0) {
+    if (File) SourceMgr.createMainFileID(File, SourceLocation());
+    if (SourceMgr.getMainFileID() == 0) {
       fprintf(stderr, "Error reading '%s'!\n",InFile.c_str());
       return 0;
     }
   } else {
     llvm::MemoryBuffer *SB = llvm::MemoryBuffer::getSTDIN();
-    if (SB) MainFileID = SourceMgr.createFileIDForMemBuffer(SB);
-    if (MainFileID == 0) {
+    if (SB) SourceMgr.createMainFileIDForMemBuffer(SB);
+    if (SourceMgr.getMainFileID() == 0) {
       fprintf(stderr, "Error reading standard input!  Empty?\n");
       return 0;
     }
@@ -562,10 +561,8 @@
   PP.setPredefines(&PredefineBuffer[0]);
   
   // Once we've read this, we're done.
-  return MainFileID;
+  return SourceMgr.getMainFileID();
 }
- 
- 
 
 //===----------------------------------------------------------------------===//
 // Preprocessor include path information.
@@ -931,7 +928,7 @@
       
     case SerializeAST:
       // FIXME: Allow user to tailor where the file is written.
-      return CreateASTSerializer(InFile, Diag, LangOpts);
+      return CreateASTSerializer(InFile, OutputFile, Diag, LangOpts);
       
     case RewriteTest:
       return CreateCodeRewriterTest(Diag);
@@ -1170,15 +1167,10 @@
       Preprocessor PP(Diags, LangInfo, *Target, SourceMgr, HeaderInfo);
       
       std::vector<char> PredefineBuffer;
-      unsigned MainFileID = InitializePreprocessor(PP, InFile, PredefineBuffer);
-      
-      if (!MainFileID)
+      if (!InitializePreprocessor(PP, InFile, PredefineBuffer))
         continue;
       
-      SourceMgr.setMainFileID(MainFileID);
-
-      ProcessInputFile(PP, InFile, *DiagClient);
-      
+      ProcessInputFile(PP, InFile, *DiagClient);      
       HeaderInfo.ClearFileInfo();
       
       if (Stats)