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 | 3533a54a971d369428537deb1e32d01b67b41942 (patch) | |
| tree | caf1e414eeb912afe28b7e0cb8dd7763fd75080d /clang/lib | |
| parent | 6fb4bd77e2593dd79ef81a9058d1b92fddf9ed23 (diff) | |
| download | bcm5719-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.cpp | 4 |
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) { |

