diff options
author | Anna Zaks <ganna@apple.com> | 2012-09-24 17:43:41 +0000 |
---|---|---|
committer | Anna Zaks <ganna@apple.com> | 2012-09-24 17:43:41 +0000 |
commit | 05c3b9ac74e12238e7ec5f237132e2348a8b5f4e (patch) | |
tree | 322aa610791cf9733fbf172698432a80a33ceb0b /lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp | |
parent | 68bf16f8d1e7c8dff8732f8aae4b4b418054216f (diff) | |
download | clang-05c3b9ac74e12238e7ec5f237132e2348a8b5f4e.tar.gz |
[analyzer]Prevent infinite recursion(assume->checker:evalAssume->assume)
(Unfortunately, I do not have a good reduced test case for this.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164541 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp')
-rw-r--r-- | lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp b/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp index da52a17cef..bfd55f7dde 100644 --- a/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp +++ b/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) { |