summaryrefslogtreecommitdiffstats
path: root/include/clang/Checker/PathSensitive/Checker.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/Checker/PathSensitive/Checker.h')
-rw-r--r--include/clang/Checker/PathSensitive/Checker.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/clang/Checker/PathSensitive/Checker.h b/include/clang/Checker/PathSensitive/Checker.h
index d498044..2401a72 100644
--- a/include/clang/Checker/PathSensitive/Checker.h
+++ b/include/clang/Checker/PathSensitive/Checker.h
@@ -147,12 +147,22 @@ public:
void addTransition(const GRState *state) {
assert(state);
+ // If the 'state' is not new, we need to check if the cached state 'ST'
+ // is new.
if (state != getState() || (ST && ST != B.GetState(Pred)))
GenerateNode(state, true);
else
Dst.Add(Pred);
}
+ // Generate a node with a new program point different from the one that will
+ // be created by the GRStmtNodeBuilder.
+ void addTransition(const GRState *state, ProgramPoint Loc) {
+ ExplodedNode *N = B.generateNode(Loc, state, Pred);
+ if (N)
+ addTransition(N);
+ }
+
void EmitReport(BugReport *R) {
Eng.getBugReporter().EmitReport(R);
}
OpenPOWER on IntegriCloud