aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Analysis/AnalysisDeclContext.cpp
diff options
context:
space:
mode:
authorRichard Trieu <rtrieu@google.com>2014-04-15 00:57:50 +0000
committerRichard Trieu <rtrieu@google.com>2014-04-15 00:57:50 +0000
commite9fa266cbad6ac10eb8f7778dd6ddb55ee07491d (patch)
tree53b371264d9ce63a339d1f5db61080924f1e77e3 /clang/lib/Analysis/AnalysisDeclContext.cpp
parent81ab90f7ed3c7420fca87c7339c823f136dcc4e5 (diff)
downloadllvm-e9fa266cbad6ac10eb8f7778dd6ddb55ee07491d.zip
llvm-e9fa266cbad6ac10eb8f7778dd6ddb55ee07491d.tar.gz
llvm-e9fa266cbad6ac10eb8f7778dd6ddb55ee07491d.tar.bz2
Fix a bad interaction between -Wtautological-overlap-compare and delayed
diagnostics which caused delayed diagnostics on dead paths to be emitted. llvm-svn: 206232
Diffstat (limited to 'clang/lib/Analysis/AnalysisDeclContext.cpp')
-rw-r--r--clang/lib/Analysis/AnalysisDeclContext.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Analysis/AnalysisDeclContext.cpp b/clang/lib/Analysis/AnalysisDeclContext.cpp
index c90d947..ef9ce56 100644
--- a/clang/lib/Analysis/AnalysisDeclContext.cpp
+++ b/clang/lib/Analysis/AnalysisDeclContext.cpp
@@ -189,6 +189,9 @@ CFG *AnalysisDeclContext::getCFG() {
if (PM)
addParentsForSyntheticStmts(cfg.get(), *PM);
+
+ // The Obersver should only observe one build of the CFG.
+ getCFGBuildOptions().Observer = 0;
}
return cfg.get();
}
@@ -205,6 +208,9 @@ CFG *AnalysisDeclContext::getUnoptimizedCFG() {
if (PM)
addParentsForSyntheticStmts(completeCFG.get(), *PM);
+
+ // The Obersver should only observe one build of the CFG.
+ getCFGBuildOptions().Observer = 0;
}
return completeCFG.get();
}