From: Argyrios Kyrtzidis Date: Mon, 28 Nov 2011 04:55:55 +0000 (+0000) Subject: [libclang] Indexing API: Capture diagnostics during indexing. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=991bf49f68e8caeb900dd9738712b861073363d9;p=clang [libclang] Indexing API: Capture diagnostics during indexing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145228 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Frontend/ASTUnit.h b/include/clang/Frontend/ASTUnit.h index ae192fa7c3..c6c766bb03 100644 --- a/include/clang/Frontend/ASTUnit.h +++ b/include/clang/Frontend/ASTUnit.h @@ -628,7 +628,8 @@ public: /// \brief Create a ASTUnit. Gets ownership of the passed CompilerInvocation. static ASTUnit *create(CompilerInvocation *CI, - llvm::IntrusiveRefCntPtr Diags); + llvm::IntrusiveRefCntPtr Diags, + bool CaptureDiagnostics = false); /// \brief Create a ASTUnit from an AST file. /// diff --git a/lib/Frontend/ASTUnit.cpp b/lib/Frontend/ASTUnit.cpp index a04a4403ea..2419d27941 100644 --- a/lib/Frontend/ASTUnit.cpp +++ b/lib/Frontend/ASTUnit.cpp @@ -1632,10 +1632,11 @@ StringRef ASTUnit::getMainFileName() const { } ASTUnit *ASTUnit::create(CompilerInvocation *CI, - llvm::IntrusiveRefCntPtr Diags) { + llvm::IntrusiveRefCntPtr Diags, + bool CaptureDiagnostics) { llvm::OwningPtr AST; AST.reset(new ASTUnit(false)); - ConfigureDiags(Diags, 0, 0, *AST, /*CaptureDiagnostics=*/false); + ConfigureDiags(Diags, 0, 0, *AST, CaptureDiagnostics); AST->Diagnostics = Diags; AST->Invocation = CI; AST->FileSystemOpts = CI->getFileSystemOpts(); diff --git a/tools/libclang/Indexing.cpp b/tools/libclang/Indexing.cpp index af9fad8ced..5af1d50e72 100644 --- a/tools/libclang/Indexing.cpp +++ b/tools/libclang/Indexing.cpp @@ -317,7 +317,8 @@ static void clang_indexSourceFile_Impl(void *UserData) { if (!requestedToGetTU) CInvok->getPreprocessorOpts().DetailedRecord = false; - ASTUnit *Unit = ASTUnit::create(CInvok.getPtr(), Diags); + ASTUnit *Unit = ASTUnit::create(CInvok.getPtr(), Diags, + /*CaptureDiagnostics=*/true); llvm::OwningPtr CXTU(new CXTUOwner(MakeCXTranslationUnit(Unit))); // Recover resources if we crash before exiting this method.