diff options
author | Zhongxing Xu <xuzhongxing@gmail.com> | 2009-12-23 08:54:57 +0000 |
---|---|---|
committer | Zhongxing Xu <xuzhongxing@gmail.com> | 2009-12-23 08:54:57 +0000 |
commit | d2ab38e3f4244e6af87ce16cfc7aff71bc022647 (patch) | |
tree | db0f72815491690029b4b058b3f4056d4b809d8f /clang/lib/Analysis/GRCoreEngine.cpp | |
parent | a864a6718573ce78a3294e796bb79511ad85ff5c (diff) | |
download | bcm5719-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.cpp | 6 |
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); } |