]> granicus.if.org Git - clang/commitdiff
Modified: CreateTargetInfo(). Now takes Diagnostic* instead of Diagnostic&.
authorTed Kremenek <kremenek@apple.com>
Wed, 5 Dec 2007 21:34:36 +0000 (21:34 +0000)
committerTed Kremenek <kremenek@apple.com>
Wed, 5 Dec 2007 21:34:36 +0000 (21:34 +0000)
Modified: ctor of SerializationTest: Now takes LangOptions argument.  We
          will eventually serialize this as well.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44630 91177308-0d34-0410-b5e6-96231b3b80d8

Driver/ASTConsumers.h
Driver/SerializationTest.cpp
Driver/Targets.cpp
Driver/clang.cpp
Driver/clang.h

index a22113aebd7829fd1f360e57b63a91e76a85c625..ab2f0ee6d4600e5626ece0b8218894d0328355be 100644 (file)
@@ -32,7 +32,8 @@ ASTConsumer *CreateDeadStoreChecker(Diagnostic &Diags);
 ASTConsumer *CreateUnitValsChecker(Diagnostic &Diags);
 ASTConsumer *CreateLLVMEmitter(Diagnostic &Diags, const LangOptions &Features);
 ASTConsumer *CreateCodeRewriterTest(Diagnostic &Diags);
-ASTConsumer *CreateSerializationTest(Diagnostic &Diags, FileManager& FMgr);
+ASTConsumer *CreateSerializationTest(Diagnostic &Diags, FileManager& FMgr, 
+                                     const LangOptions &LOpts);
 
 } // end clang namespace
 
index 0354f2b655fae74750b334fbef3bd3c05aeb91ac..813aa7ea7b76d612867b9c5a6945888937695565 100644 (file)
@@ -56,6 +56,7 @@ class SerializationTest : public ASTConsumer {
   ASTContext* Context;
   Diagnostic &Diags;
   FileManager &FMgr;
+  const LangOptions& LangOpts;
   std::list<Decl*> Decls;
   
   enum { BasicMetadataBlock = 1,
@@ -63,8 +64,8 @@ class SerializationTest : public ASTConsumer {
          DeclsBlock = 3 };
 
 public:  
-  SerializationTest(Diagnostic &d, FileManager& fmgr)
-    : Context(NULL), Diags(d), FMgr(fmgr) {};
+  SerializationTest(Diagnostic &d, FileManager& fmgr, const LangOptions& LOpts)
+    : Context(NULL), Diags(d), FMgr(fmgr), LangOpts(LOpts) {};
   
   ~SerializationTest();
 
@@ -84,8 +85,9 @@ private:
 } // end anonymous namespace
 
 ASTConsumer*
-clang::CreateSerializationTest(Diagnostic &Diags, FileManager& FMgr) {  
-  return new SerializationTest(Diags,FMgr);
+clang::CreateSerializationTest(Diagnostic &Diags, FileManager& FMgr,
+                               const LangOptions &LOpts) {  
+  return new SerializationTest(Diags,FMgr,LOpts);
 }
 
 static void WritePreamble(llvm::BitstreamWriter& Stream) {
@@ -272,7 +274,7 @@ void SerializationTest::Deserialize(llvm::sys::Path& Filename,
     std::vector<std::string> triples;
     triples.push_back(triple);
     delete [] triple;
-    Dezr.RegisterPtr(PtrID,CreateTargetInfo(triples,Diags));
+    Dezr.RegisterPtr(PtrID,CreateTargetInfo(triples,&Diags));
   }
     
   // For Selectors, we must read the identifier table first because the
index 336beb925d07f84c9507571c618247966fed20dd..63df5d48c88d59cc128bcf9f4152735f7d778605 100644 (file)
@@ -691,7 +691,7 @@ static TargetInfoImpl *CreateTarget(const std::string& T) {
 /// CreateTargetInfo - Return the set of target info objects as specified by
 /// the -arch command line option.
 TargetInfo *clang::CreateTargetInfo(const std::vector<std::string>& triples, 
-                                    Diagnostic &Diags) {
+                                    Diagnostic *Diags) {
 
   assert (!triples.empty() && "No target triple.");
   
@@ -701,7 +701,7 @@ TargetInfo *clang::CreateTargetInfo(const std::vector<std::string>& triples,
   if (!PrimaryTarget)
     return NULL;
   
-  TargetInfo *TI = new TargetInfo(PrimaryTarget, &Diags);
+  TargetInfo *TI = new TargetInfo(PrimaryTarget, Diags);
   
   // Add all secondary targets.
   for (unsigned i = 1, e = triples.size(); i != e; ++i) {
index 64f8cb602dd2c602cb3e8280cd500415d2c80cc7..484a03cc3f4a4cd12b50d4d322a7dc841a02d0c3 100644 (file)
@@ -848,7 +848,7 @@ static ASTConsumer* CreateASTConsumer(Diagnostic& Diag, FileManager& FileMgr,
       return CreateUnitValsChecker(Diag);
       
     case TestSerialization:
-      return CreateSerializationTest(Diag, FileMgr);
+      return CreateSerializationTest(Diag, FileMgr, LangOpts);
       
     case EmitLLVM:
       return CreateLLVMEmitter(Diag, LangOpts);
@@ -1004,7 +1004,7 @@ int main(int argc, char **argv) {
   { // Create triples, and create the TargetInfo.
     std::vector<std::string> triples;
     CreateTargetTriples(triples);
-    Target = CreateTargetInfo(triples,Diags);
+    Target = CreateTargetInfo(triples,&Diags);
   
     if (Target == 0) {
       fprintf(stderr, "Sorry, I don't know what target this is: %s\n",
index eadeb701261268e0ab909d647eb2b480c0df1e53..098c51b39f65649e15443565fcb49d1d3a1d782f 100644 (file)
@@ -37,7 +37,7 @@ MinimalAction *CreatePrintParserActionsAction(IdentifierTable &);
 /// CreateTargetInfo - Return the set of target info objects as specified by
 /// the -arch command line option.
 TargetInfo *CreateTargetInfo(const std::vector<std::string>& triples,
-                             Diagnostic &Diags);
+                             Diagnostic *Diags);
 
 /// EmitLLVMFromASTs - Implement -emit-llvm, which generates llvm IR from C.
 void EmitLLVMFromASTs(Preprocessor &PP, unsigned MainFileID,