diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2017-02-13 16:16:43 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2017-02-13 16:16:43 +0000 |
commit | 8484a326fbaac2772a82b28cbea9569315432bd5 (patch) | |
tree | 6fab2380d14160c41ee179de5c5fec6717748584 /clang/lib/Frontend/ASTUnit.cpp | |
parent | cd6d7b1c5b80a154aee2b78f07ea798e64c05dea (diff) | |
download | bcm5719-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.cpp | 2 |
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); |