summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-10-11 16:05:00 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-10-11 16:05:00 +0000
commit0db720f0dc5b62bfcde72a2761fc9793af4e4558 (patch)
tree18abe09fce8137c1e1746e400c2f423bd2ca54ca /clang/tools/libclang
parent59e34ececfa38ca198ff8f05094ccdaa4d2d5b28 (diff)
downloadbcm5719-llvm-0db720f0dc5b62bfcde72a2761fc9793af4e4558.tar.gz
bcm5719-llvm-0db720f0dc5b62bfcde72a2761fc9793af4e4558.zip
[libclang] Improve AST serialization done by ASTUnit::Save().
The ASTUnit needs to initialize an ASTWriter at the beginning of parsing to fully handle serialization of a translation unit that imports modules. Do this by introducing an option to enable it, which corresponds to CXTranslationUnit_ForSerialization on the C API side. llvm-svn: 165717
Diffstat (limited to 'clang/tools/libclang')
-rw-r--r--clang/tools/libclang/CIndex.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp
index 78e4fc318ff..23d0768413e 100644
--- a/clang/tools/libclang/CIndex.cpp
+++ b/clang/tools/libclang/CIndex.cpp
@@ -2556,6 +2556,7 @@ static void clang_parseTranslationUnit_Impl(void *UserData) {
bool IncludeBriefCommentsInCodeCompletion
= options & CXTranslationUnit_IncludeBriefCommentsInCodeCompletion;
bool SkipFunctionBodies = options & CXTranslationUnit_SkipFunctionBodies;
+ bool ForSerialization = options & CXTranslationUnit_ForSerialization;
// Configure the diagnostics.
DiagnosticOptions DiagOpts;
@@ -2643,6 +2644,7 @@ static void clang_parseTranslationUnit_Impl(void *UserData) {
/*AllowPCHWithCompilerErrors=*/true,
SkipFunctionBodies,
/*UserFilesAreVolatile=*/true,
+ ForSerialization,
&ErrUnit));
if (NumErrors != Diags->getClient()->getNumErrors()) {
OpenPOWER on IntegriCloud