summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2012-09-24 17:43:41 +0000
committerAnna Zaks <ganna@apple.com>2012-09-24 17:43:41 +0000
commit3533a54a971d369428537deb1e32d01b67b41942 (patch)
treecaf1e414eeb912afe28b7e0cb8dd7763fd75080d /clang/lib
parent6fb4bd77e2593dd79ef81a9058d1b92fddf9ed23 (diff)
downloadbcm5719-llvm-3533a54a971d369428537deb1e32d01b67b41942.tar.gz
bcm5719-llvm-3533a54a971d369428537deb1e32d01b67b41942.zip
[analyzer]Prevent infinite recursion(assume->checker:evalAssume->assume)
(Unfortunately, I do not have a good reduced test case for this.) llvm-svn: 164541
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp b/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
index da52a17ceff..bfd55f7dde4 100644
--- a/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
+++ b/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
@@ -115,7 +115,9 @@ ProgramStateRef SimpleConstraintManager::assume(ProgramStateRef state,
NonLoc cond,
bool assumption) {
state = assumeAux(state, cond, assumption);
- return SU.processAssume(state, cond, assumption);
+ if (NotifyAssumeClients)
+ return SU.processAssume(state, cond, assumption);
+ return state;
}
static BinaryOperator::Opcode NegateComparison(BinaryOperator::Opcode op) {
OpenPOWER on IntegriCloud