summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/ASTUnit.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2017-02-13 16:16:43 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2017-02-13 16:16:43 +0000
commit8484a326fbaac2772a82b28cbea9569315432bd5 (patch)
tree6fab2380d14160c41ee179de5c5fec6717748584 /clang/lib/Frontend/ASTUnit.cpp
parentcd6d7b1c5b80a154aee2b78f07ea798e64c05dea (diff)
downloadbcm5719-llvm-8484a326fbaac2772a82b28cbea9569315432bd5.tar.gz
bcm5719-llvm-8484a326fbaac2772a82b28cbea9569315432bd5.zip
[ASTUnit] Clear out diagnostic state after creating the preamble.
If the preamble had diagnostic state this would leave behind invalid state in the DiagnosticsEngine and crash later. The test case runs into an assertion in DiagnosticsEngine::setSourceManager. llvm-svn: 294963
Diffstat (limited to 'clang/lib/Frontend/ASTUnit.cpp')
-rw-r--r--clang/lib/Frontend/ASTUnit.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp
index f3d033c3e79..12b78ea3cd9 100644
--- a/clang/lib/Frontend/ASTUnit.cpp
+++ b/clang/lib/Frontend/ASTUnit.cpp
@@ -1891,6 +1891,8 @@ bool ASTUnit::LoadFromCompilerInvocation(
PreambleRebuildCounter = PrecompilePreambleAfterNParses;
OverrideMainBuffer =
getMainBufferWithPrecompiledPreamble(PCHContainerOps, *Invocation);
+ getDiagnostics().Reset();
+ ProcessWarningOptions(getDiagnostics(), Invocation->getDiagnosticOpts());
}
SimpleTimer ParsingTimer(WantTiming);
OpenPOWER on IntegriCloud