[PATCH] Change ClangTool::run output processing file to debug output

Ariel Bernal ariel.j.bernal at intel.com
Thu Mar 14 13:11:32 PDT 2013


Hi revane,

Changed processing output to debug output
    
By default ClangTool::run writes the processing file name to standard output. Changed this to be a DEBUG output, enabled by -debug option.
Also changed the error while processing file message to standard error.
    
pch.cpp was change to account for the empty output resulting from executing clang-check.


http://llvm-reviews.chandlerc.com/D543

Files:
  lib/Tooling/Tooling.cpp
  test/Tooling/pch.cpp

Index: lib/Tooling/Tooling.cpp
===================================================================
--- lib/Tooling/Tooling.cpp
+++ lib/Tooling/Tooling.cpp
@@ -25,6 +25,7 @@
 #include "llvm/Support/FileSystem.h"
 #include "llvm/Support/Host.h"
 #include "llvm/Support/raw_ostream.h"
+#include "llvm/Support/Debug.h"
 
 // For chdir, see the comment in ClangTool::run for more information.
 #ifdef _WIN32
@@ -295,14 +296,16 @@
       ArgsAdjuster->Adjust(CompileCommands[I].second.CommandLine);
     assert(!CommandLine.empty());
     CommandLine[0] = MainExecutable;
-    llvm::outs() << "Processing: " << File << ".\n";
+    DEBUG({
+      llvm::dbgs() << "Processing: " << File << ".\n";
+    });
     ToolInvocation Invocation(CommandLine, ActionFactory->create(), &Files);
     for (int I = 0, E = MappedFileContents.size(); I != E; ++I) {
       Invocation.mapVirtualFile(MappedFileContents[I].first,
                                 MappedFileContents[I].second);
     }
     if (!Invocation.run()) {
-      llvm::outs() << "Error while processing " << File << ".\n";
+      llvm::errs() << "Error while processing " << File << ".\n";
       ProcessingFailed = true;
     }
   }
Index: test/Tooling/pch.cpp
===================================================================
--- test/Tooling/pch.cpp
+++ test/Tooling/pch.cpp
@@ -6,12 +6,11 @@
 // RUN: %clang -x c++-header %S/Inputs/pch.h -o %t1
 
 // Use the generated pch and enforce a subsequent stat miss by using
-// the test file with an unrelated include as second translation unit:
-// Do not directly pipe into FileCheck, as that would hide errors from
-// valgrind due to pipefail not being set in lit.
+// the test file with an unrelated include as second translation unit.
+// clang-check should produce an empty output since it is not using the
+// debug option. Test for an empty file after clang-check is ejecuted.
 // RUN: clang-check "%S/Inputs/pch.cpp" "%s" -- -include-pch %t1 -I "%S" -c >%t2 2>&1
-// RUN: FileCheck %s < %t2
+// REQUIRES: shell
+// RUN: test ! -s %t2
 
 #include "Inputs/pch-fail.h"
-
-// CHECK: Processing
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D543.1.patch
Type: text/x-patch
Size: 2099 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130314/ae50b294/attachment.bin>


More information about the cfe-commits mailing list