summaryrefslogtreecommitdiffstats
path: root/clang/include
diff options
context:
space:
mode:
Diffstat (limited to 'clang/include')
-rw-r--r--clang/include/clang/Analysis/PathSensitive/Checker.h8
-rw-r--r--clang/include/clang/Analysis/PathSensitive/Checkers/UndefinedAssignmentChecker.h3
-rw-r--r--clang/include/clang/Analysis/PathSensitive/GRExprEngine.h14
3 files changed, 13 insertions, 12 deletions
diff --git a/clang/include/clang/Analysis/PathSensitive/Checker.h b/clang/include/clang/Analysis/PathSensitive/Checker.h
index 3bef08d7545..4fc0a617ecf 100644
--- a/clang/include/clang/Analysis/PathSensitive/Checker.h
+++ b/clang/include/clang/Analysis/PathSensitive/Checker.h
@@ -116,12 +116,13 @@ private:
void GR_VisitBind(ExplodedNodeSet &Dst,
GRStmtNodeBuilder &Builder, GRExprEngine &Eng,
- const Stmt *stmt, ExplodedNode *Pred, void *tag,
+ const Stmt *AssignE,
+ const Stmt *StoreE, ExplodedNode *Pred, void *tag,
SVal location, SVal val,
bool isPrevisit) {
CheckerContext C(Dst, Builder, Eng, Pred, tag, isPrevisit);
assert(isPrevisit && "Only previsit supported for now.");
- PreVisitBind(C, stmt, location, val);
+ PreVisitBind(C, AssignE, StoreE, location, val);
}
public:
@@ -135,7 +136,8 @@ public:
return Pred;
}
- virtual void PreVisitBind(CheckerContext &C, const Stmt *ST,
+ virtual void PreVisitBind(CheckerContext &C,
+ const Stmt *AssignE, const Stmt *StoreE,
SVal location, SVal val) {}
virtual ExplodedNode *CheckType(QualType T, ExplodedNode *Pred,
diff --git a/clang/include/clang/Analysis/PathSensitive/Checkers/UndefinedAssignmentChecker.h b/clang/include/clang/Analysis/PathSensitive/Checkers/UndefinedAssignmentChecker.h
index 7fee5011c46..13437eb2ac0 100644
--- a/clang/include/clang/Analysis/PathSensitive/Checkers/UndefinedAssignmentChecker.h
+++ b/clang/include/clang/Analysis/PathSensitive/Checkers/UndefinedAssignmentChecker.h
@@ -24,7 +24,8 @@ class UndefinedAssignmentChecker
public:
UndefinedAssignmentChecker() : BT(0) {}
static void *getTag();
- virtual void PreVisitBind(CheckerContext &C, const Stmt *S, SVal location,
+ virtual void PreVisitBind(CheckerContext &C, const Stmt *AssignE,
+ const Stmt *StoreE, SVal location,
SVal val);
};
}
diff --git a/clang/include/clang/Analysis/PathSensitive/GRExprEngine.h b/clang/include/clang/Analysis/PathSensitive/GRExprEngine.h
index 2f2a11a83ce..25e47038d72 100644
--- a/clang/include/clang/Analysis/PathSensitive/GRExprEngine.h
+++ b/clang/include/clang/Analysis/PathSensitive/GRExprEngine.h
@@ -412,7 +412,8 @@ protected:
void CheckerVisit(Stmt *S, ExplodedNodeSet &Dst, ExplodedNodeSet &Src,
bool isPrevisit);
- void CheckerVisitBind(Stmt *S, ExplodedNodeSet &Dst, ExplodedNodeSet &Src,
+ void CheckerVisitBind(const Stmt *AssignE, const Stmt *StoreE,
+ ExplodedNodeSet &Dst, ExplodedNodeSet &Src,
SVal location, SVal val, bool isPrevisit);
@@ -566,7 +567,8 @@ protected:
/// EvalBind - Handle the semantics of binding a value to a specific location.
/// This method is used by EvalStore, VisitDeclStmt, and others.
- void EvalBind(ExplodedNodeSet& Dst, Stmt* Ex, ExplodedNode* Pred,
+ void EvalBind(ExplodedNodeSet& Dst, Stmt *AssignE,
+ Stmt* StoreE, ExplodedNode* Pred,
const GRState* St, SVal location, SVal Val,
bool atDeclInit = false);
@@ -578,14 +580,10 @@ public:
const GRState* St, SVal location,
const void *tag = 0);
-
- void EvalStore(ExplodedNodeSet& Dst, Expr* E, ExplodedNode* Pred, const GRState* St,
- SVal TargetLV, SVal Val, const void *tag = 0);
-
- void EvalStore(ExplodedNodeSet& Dst, Expr* E, Expr* StoreE, ExplodedNode* Pred,
+ void EvalStore(ExplodedNodeSet& Dst, Expr* AssignE, Expr* StoreE,
+ ExplodedNode* Pred,
const GRState* St, SVal TargetLV, SVal Val,
const void *tag = 0);
-
};
} // end clang namespace
OpenPOWER on IntegriCloud