Introduce libclang-level options for C++ precompiled preambles,
separating out chaining precompiled preambles from non-chaining ones.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117457 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp
index c1e40de..3262016 100644
--- a/tools/libclang/CIndex.cpp
+++ b/tools/libclang/CIndex.cpp
@@ -1972,7 +1972,8 @@
unsigned clang_defaultEditingTranslationUnitOptions() {
return CXTranslationUnit_PrecompiledPreamble |
- CXTranslationUnit_CacheCompletionResults;
+ CXTranslationUnit_CacheCompletionResults |
+ CXTranslationUnit_CXXPrecompiledPreamble;
}
CXTranslationUnit
@@ -2020,6 +2021,10 @@
= ((options & CXTranslationUnit_Incomplete) == 0);
bool CacheCodeCompetionResults
= options & CXTranslationUnit_CacheCompletionResults;
+ bool CXXPrecompilePreamble
+ = options & CXTranslationUnit_CXXPrecompiledPreamble;
+ bool CXXChainedPCH
+ = options & CXTranslationUnit_CXXChainedPCH;
// Configure the diagnostics.
DiagnosticOptions DiagOpts;
@@ -2084,7 +2089,9 @@
/*CaptureDiagnostics=*/true,
PrecompilePreamble,
CompleteTranslationUnit,
- CacheCodeCompetionResults));
+ CacheCodeCompetionResults,
+ CXXPrecompilePreamble,
+ CXXChainedPCH));
if (NumErrors != Diags->getNumErrors()) {
// Make sure to check that 'Unit' is non-NULL.