summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/GRCoreEngine.cpp
diff options
context:
space:
mode:
authorZhongxing Xu <xuzhongxing@gmail.com>2009-12-23 08:54:57 +0000
committerZhongxing Xu <xuzhongxing@gmail.com>2009-12-23 08:54:57 +0000
commitd2ab38e3f4244e6af87ce16cfc7aff71bc022647 (patch)
treedb0f72815491690029b4b058b3f4056d4b809d8f /clang/lib/Analysis/GRCoreEngine.cpp
parenta864a6718573ce78a3294e796bb79511ad85ff5c (diff)
downloadbcm5719-llvm-d2ab38e3f4244e6af87ce16cfc7aff71bc022647.tar.gz
bcm5719-llvm-d2ab38e3f4244e6af87ce16cfc7aff71bc022647.zip
For inter-procedural analysis, predecessor node may be in another function.
So we should use the current program point. llvm-svn: 91989
Diffstat (limited to 'clang/lib/Analysis/GRCoreEngine.cpp')
-rw-r--r--clang/lib/Analysis/GRCoreEngine.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/Analysis/GRCoreEngine.cpp b/clang/lib/Analysis/GRCoreEngine.cpp
index 1c05ddc60bc..209452a3927 100644
--- a/clang/lib/Analysis/GRCoreEngine.cpp
+++ b/clang/lib/Analysis/GRCoreEngine.cpp
@@ -213,9 +213,9 @@ void GRCoreEngine::HandleBlockEdge(const BlockEdge& L, ExplodedNode* Pred) {
CFGBlock* Blk = L.getDst();
// Check if we are entering the EXIT block.
- if (Blk == &(Pred->getLocationContext()->getCFG()->getExit())) {
+ if (Blk == &(L.getLocationContext()->getCFG()->getExit())) {
- assert (Pred->getLocationContext()->getCFG()->getExit().size() == 0
+ assert (L.getLocationContext()->getCFG()->getExit().size() == 0
&& "EXIT block cannot contain Stmts.");
// Process the final state transition.
@@ -447,7 +447,7 @@ GRStmtNodeBuilder::generateNodeInternal(const Stmt* S, const GRState* state,
ProgramPoint::Kind K,
const void *tag) {
- const ProgramPoint &L = GetProgramPoint(S, K, Pred->getLocationContext(),tag);
+ const ProgramPoint &L = GetProgramPoint(S, K, Pred->getLocationContext(),tag);
return generateNodeInternal(L, state, Pred);
}
OpenPOWER on IntegriCloud