summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2013-11-20 00:11:42 +0000
committerAnna Zaks <ganna@apple.com>2013-11-20 00:11:42 +0000
commitd2a807d8317c4782aafd9186852e9b7eed76a111 (patch)
tree057ec750a95d586071ac3f3b47f6a8f1abf5d435 /clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
parent0d3f7eca8e552621c61658a5f895e2716d5c0e74 (diff)
downloadbcm5719-llvm-d2a807d8317c4782aafd9186852e9b7eed76a111.tar.gz
bcm5719-llvm-d2a807d8317c4782aafd9186852e9b7eed76a111.zip
[analyzer] Fix an infinite recursion in region invalidation by adding block count to the BlockDataRegion.
llvm-svn: 195174
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp b/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
index a2a1885f8b9..297754d6086 100644
--- a/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
+++ b/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
@@ -184,7 +184,8 @@ void ExprEngine::VisitBlockExpr(const BlockExpr *BE, ExplodedNode *Pred,
// Get the value of the block itself.
SVal V = svalBuilder.getBlockPointer(BE->getBlockDecl(), T,
- Pred->getLocationContext());
+ Pred->getLocationContext(),
+ currBldrCtx->blockCount());
ProgramStateRef State = Pred->getState();
OpenPOWER on IntegriCloud