diff options
-rw-r--r-- | include/clang/Analysis/PathSensitive/GRCoreEngine.h | 3 | ||||
-rw-r--r-- | lib/Analysis/GRCoreEngine.cpp | 7 |
2 files changed, 7 insertions, 3 deletions
diff --git a/include/clang/Analysis/PathSensitive/GRCoreEngine.h b/include/clang/Analysis/PathSensitive/GRCoreEngine.h index 0285ad6989..3d8b0ea18e 100644 --- a/include/clang/Analysis/PathSensitive/GRCoreEngine.h +++ b/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/lib/Analysis/GRCoreEngine.cpp b/lib/Analysis/GRCoreEngine.cpp index 5641baac5f..5a45ad2ce4 100644 --- a/lib/Analysis/GRCoreEngine.cpp +++ b/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); |