]> granicus.if.org Git - clang/commitdiff
pass diagnostics into the rewrite test client.
authorChris Lattner <sabre@nondot.org>
Fri, 30 Nov 2007 22:25:36 +0000 (22:25 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 30 Nov 2007 22:25:36 +0000 (22:25 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44468 91177308-0d34-0410-b5e6-96231b3b80d8

Driver/ASTConsumers.h
Driver/RewriteTest.cpp
Driver/clang.cpp
clang.xcodeproj/project.pbxproj

index dc6e750b72bdbac5c62ef616591f1d4b0e99416e..37f825b5daecada0a4c055f736cbd105bfb32a13 100644 (file)
@@ -30,7 +30,7 @@ ASTConsumer *CreateLiveVarAnalyzer();
 ASTConsumer *CreateDeadStoreChecker(Diagnostic &Diags);
 ASTConsumer *CreateUnitValsChecker(Diagnostic &Diags);
 ASTConsumer *CreateLLVMEmitter(Diagnostic &Diags, const LangOptions &Features);
-ASTConsumer *CreateCodeRewriterTest();
+ASTConsumer *CreateCodeRewriterTest(Diagnostic &Diags);
 ASTConsumer *CreateSerializationTest();
 
 } // end clang namespace
index 043b260b16dfc688308c3806b665b3263e648dc4..5d14f0355531411b1db240d7e64bec43e1aab004 100644 (file)
@@ -27,6 +27,7 @@ using llvm::utostr;
 namespace {
   class RewriteTest : public ASTConsumer {
     Rewriter Rewrite;
+    Diagnostic &Diags;
     ASTContext *Context;
     SourceManager *SM;
     unsigned MainFileID;
@@ -92,6 +93,7 @@ namespace {
     // Top Level Driver code.
     virtual void HandleTopLevelDecl(Decl *D);
     void HandleDeclInMainFile(Decl *D);
+    RewriteTest(Diagnostic &D) : Diags(D) {}
     ~RewriteTest();
 
     // Syntactic Rewriting.
@@ -160,7 +162,9 @@ namespace {
   };
 }
 
-ASTConsumer *clang::CreateCodeRewriterTest() { return new RewriteTest(); }
+ASTConsumer *clang::CreateCodeRewriterTest(Diagnostic &Diags) {
+  return new RewriteTest(Diags);
+}
 
 //===----------------------------------------------------------------------===//
 // Top Level Driver Code
@@ -860,7 +864,11 @@ Stmt *RewriteTest::RewriteAtEncode(ObjCEncodeExpr *Exp) {
   Expr *Replacement = new StringLiteral(StrEncoding.c_str(),
                                         StrEncoding.length(), false, StrType, 
                                         SourceLocation(), SourceLocation());
-  Rewrite.ReplaceStmt(Exp, Replacement);
+  if (Rewrite.ReplaceStmt(Exp, Replacement)) {
+    // replacement failed.
+    return Exp;
+  }
+  
   delete Exp;
   return Replacement;
 }
index ac3a04ab2e92c6226e8336bd41f103cb8bef32a4..f26fb994b9ebec5f7d1e3e149887a633c7c26edb 100644 (file)
@@ -836,7 +836,7 @@ static void ProcessInputFile(Preprocessor &PP, unsigned MainFileID,
     break;
     
   case RewriteTest:
-    Consumer = CreateCodeRewriterTest();
+    Consumer = CreateCodeRewriterTest(PP.getDiagnostics());
     break;
   }
   
index 1585d851d9ab75d8c3735019ca05102a2daa5db4..db10ad3f4485e2c426c967ccbb81ca21eff00545 100644 (file)
                08FB7793FE84155DC02AAC07 /* Project object */ = {
                        isa = PBXProject;
                        buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "clang" */;
-                       compatibilityVersion = "Xcode 2.4";
                        hasScannedForEncodings = 1;
                        mainGroup = 08FB7794FE84155DC02AAC07 /* clang */;
                        projectDirPath = "";