]> granicus.if.org Git - clang/commitdiff
[libclang] If libclang logging is enabled, print all compiler diagnostics to stderr...
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Fri, 29 Mar 2013 21:51:44 +0000 (21:51 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Fri, 29 Mar 2013 21:51:44 +0000 (21:51 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178373 91177308-0d34-0410-b5e6-96231b3b80d8

tools/libclang/Indexing.cpp

index 2bbf91f65b80feebc210ba0f12c82ccf6ca5e890..2a504db2a49cefaa5ae817a0042ab8d37cd95f1e 100644 (file)
@@ -539,7 +539,11 @@ static void clang_indexSourceFile_Impl(void *UserData) {
   if (CXXIdx->isOptEnabled(CXGlobalOpt_ThreadBackgroundPriorityForIndexing))
     setThreadBackgroundPriority();
 
-  CaptureDiagnosticConsumer *CaptureDiag = new CaptureDiagnosticConsumer();
+  bool CaptureDiagnostics = !Logger::isLoggingEnabled();
+
+  CaptureDiagnosticConsumer *CaptureDiag = 0;
+  if (CaptureDiagnostics)
+    CaptureDiag = new CaptureDiagnosticConsumer();
 
   // Configure the diagnostics.
   IntrusiveRefCntPtr<DiagnosticsEngine>
@@ -609,7 +613,7 @@ static void clang_indexSourceFile_Impl(void *UserData) {
     CInvok->getDiagnosticOpts().IgnoreWarnings = true;
 
   ASTUnit *Unit = ASTUnit::create(CInvok.getPtr(), Diags,
-                                  /*CaptureDiagnostics=*/true,
+                                  CaptureDiagnostics,
                                   /*UserFilesAreVolatile=*/true);
   OwningPtr<CXTUOwner> CXTU(new CXTUOwner(MakeCXTranslationUnit(CXXIdx, Unit)));
 
@@ -662,7 +666,7 @@ static void clang_indexSourceFile_Impl(void *UserData) {
                                                        Persistent,
                                                 CXXIdx->getClangResourcesPath(),
                                                        OnlyLocalDecls,
-                                                    /*CaptureDiagnostics=*/true,
+                                                       CaptureDiagnostics,
                                                        PrecompilePreamble,
                                                     CacheCodeCompletionResults,
                                  /*IncludeBriefCommentsInCodeCompletion=*/false,