aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Analysis/PathSensitive/GRCoreEngine.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/Analysis/PathSensitive/GRCoreEngine.h')
-rw-r--r--include/clang/Analysis/PathSensitive/GRCoreEngine.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/include/clang/Analysis/PathSensitive/GRCoreEngine.h b/include/clang/Analysis/PathSensitive/GRCoreEngine.h
index d4074af5a9..bef2e2c0b6 100644
--- a/include/clang/Analysis/PathSensitive/GRCoreEngine.h
+++ b/include/clang/Analysis/PathSensitive/GRCoreEngine.h
@@ -151,12 +151,14 @@ public:
}
ExplodedNodeImpl* generateNodeImpl(Stmt* S, void* State,
- ExplodedNodeImpl* Pred);
+ ExplodedNodeImpl* Pred,
+ bool isLoad = false);
- inline ExplodedNodeImpl* generateNodeImpl(Stmt* S, void* State) {
+ inline ExplodedNodeImpl* generateNodeImpl(Stmt* S, void* State,
+ bool isLoad = false) {
ExplodedNodeImpl* N = getLastNode();
assert (N && "Predecessor of new node is infeasible.");
- return generateNodeImpl(S, State, N);
+ return generateNodeImpl(S, State, N, isLoad);
}
Stmt* getStmt() const { return B[Idx]; }
@@ -201,14 +203,14 @@ public:
return static_cast<NodeTy*>(NB.getLastNode());
}
- NodeTy* generateNode(Stmt* S, StateTy* St, NodeTy* Pred) {
+ NodeTy* generateNode(Stmt* S, StateTy* St, NodeTy* Pred, bool isLoad = false){
HasGeneratedNode = true;
- return static_cast<NodeTy*>(NB.generateNodeImpl(S, St, Pred));
+ return static_cast<NodeTy*>(NB.generateNodeImpl(S, St, Pred, isLoad));
}
- NodeTy* generateNode(Stmt* S, StateTy* St) {
+ NodeTy* generateNode(Stmt* S, StateTy* St, bool isLoad = false) {
HasGeneratedNode = true;
- return static_cast<NodeTy*>(NB.generateNodeImpl(S, St));
+ return static_cast<NodeTy*>(NB.generateNodeImpl(S, St, isLoad));
}
GRBlockCounter getBlockCounter() const {