diff options
| author | Ted Kremenek <kremenek@apple.com> | 2009-07-22 21:40:46 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2009-07-22 21:40:46 +0000 |
| commit | 2776079844572dd1ff443cfd30ceb999bf954647 (patch) | |
| tree | 361a5faaa9c07602f7239d95ef27c2792d6910d6 | |
| parent | 8a2cb9cede41b2f3fb693e5aa8415a628c5285f8 (diff) | |
| download | bcm5719-llvm-2776079844572dd1ff443cfd30ceb999bf954647.tar.gz bcm5719-llvm-2776079844572dd1ff443cfd30ceb999bf954647.zip | |
Add support for 'PreStmt' program points to GRCoreEngine and GRStmtNodeBuilder.
llvm-svn: 76792
| -rw-r--r-- | clang/include/clang/Analysis/PathSensitive/GRCoreEngine.h | 3 | ||||
| -rw-r--r-- | clang/lib/Analysis/GRCoreEngine.cpp | 7 |
2 files changed, 7 insertions, 3 deletions
diff --git a/clang/include/clang/Analysis/PathSensitive/GRCoreEngine.h b/clang/include/clang/Analysis/PathSensitive/GRCoreEngine.h index 0285ad69899..3d8b0ea18e4 100644 --- a/clang/include/clang/Analysis/PathSensitive/GRCoreEngine.h +++ b/clang/include/clang/Analysis/PathSensitive/GRCoreEngine.h @@ -142,7 +142,8 @@ public: } ExplodedNodeImpl* - generateNodeImpl(PostStmt PP, const void* State, ExplodedNodeImpl* Pred); + generateNodeImpl(const ProgramPoint &PP, const void* State, + ExplodedNodeImpl* Pred); ExplodedNodeImpl* generateNodeImpl(Stmt* S, const void* State, ExplodedNodeImpl* Pred, diff --git a/clang/lib/Analysis/GRCoreEngine.cpp b/clang/lib/Analysis/GRCoreEngine.cpp index 5641baac5fc..5a45ad2ce4f 100644 --- a/clang/lib/Analysis/GRCoreEngine.cpp +++ b/clang/lib/Analysis/GRCoreEngine.cpp @@ -430,11 +430,14 @@ GRStmtNodeBuilderImpl::generateNodeImpl(Stmt* S, const void* State, ExplodedNodeImpl* Pred, ProgramPoint::Kind K, const void *tag) { - return generateNodeImpl(GetPostLoc(S, K, tag), State, Pred); + return K == ProgramPoint::PreStmtKind + ? generateNodeImpl(PreStmt(S, tag), State, Pred) + : generateNodeImpl(GetPostLoc(S, K, tag), State, Pred); } ExplodedNodeImpl* -GRStmtNodeBuilderImpl::generateNodeImpl(PostStmt Loc, const void* State, +GRStmtNodeBuilderImpl::generateNodeImpl(const ProgramPoint &Loc, + const void* State, ExplodedNodeImpl* Pred) { bool IsNew; ExplodedNodeImpl* N = Eng.G->getNodeImpl(Loc, State, &IsNew); |

