Fixed an elusive caching bug in ExplodedGraph construction when a PostStmtKind was used instead of a PostStoreKind.

llvm-svn: 57719
This commit is contained in:
Ted Kremenek 2008-10-17 20:49:23 +00:00
parent 055891cbf3
commit a196618ad0
2 changed files with 9 additions and 2 deletions

View File

@ -235,8 +235,12 @@ public:
} }
NodeTy* MakeNode(ExplodedNodeSet<StateTy>& Dst, Stmt* S, NodeTy* MakeNode(ExplodedNodeSet<StateTy>& Dst, Stmt* S,
NodeTy* Pred, const StateTy* St, NodeTy* Pred, const StateTy* St) {
ProgramPoint::Kind K = ProgramPoint::PostStmtKind) { return MakeNode(Dst, S, Pred, St, PointKind);
}
NodeTy* MakeNode(ExplodedNodeSet<StateTy>& Dst, Stmt* S,
NodeTy* Pred, const StateTy* St, ProgramPoint::Kind K) {
const StateTy* PredState = GetState(Pred); const StateTy* PredState = GetState(Pred);

View File

@ -318,6 +318,9 @@ static inline ProgramPoint GetPostLoc(Stmt* S, ProgramPoint::Kind K) {
case ProgramPoint::PostLoadKind: case ProgramPoint::PostLoadKind:
return PostLoad(S); return PostLoad(S);
case ProgramPoint::PostStoreKind:
return PostStore(S);
case ProgramPoint::PostPurgeDeadSymbolsKind: case ProgramPoint::PostPurgeDeadSymbolsKind:
return PostPurgeDeadSymbols(S); return PostPurgeDeadSymbols(S);
} }