aboutsummaryrefslogtreecommitdiff
path: root/include/clang
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang')
-rw-r--r--include/clang/Analysis/ProgramPoint.h11
-rw-r--r--include/clang/Checker/PathSensitive/AnalysisManager.h2
-rw-r--r--include/clang/Checker/PathSensitive/GRCoreEngine.h13
3 files changed, 13 insertions, 13 deletions
diff --git a/include/clang/Analysis/ProgramPoint.h b/include/clang/Analysis/ProgramPoint.h
index a77ca39b15..49cddee4b8 100644
--- a/include/clang/Analysis/ProgramPoint.h
+++ b/include/clang/Analysis/ProgramPoint.h
@@ -318,17 +318,16 @@ public:
class CallEnter : public StmtPoint {
public:
- // L is caller's location context. AC is callee's AnalysisContext.
- CallEnter(const Stmt *S, const AnalysisContext *AC, const LocationContext *L)
- : StmtPoint(S, AC, CallEnterKind, L, 0) {}
+ CallEnter(const Stmt *stmt, const StackFrameContext *calleeCtx,
+ const LocationContext *callerCtx)
+ : StmtPoint(stmt, calleeCtx, CallEnterKind, callerCtx, 0) {}
const Stmt *getCallExpr() const {
return static_cast<const Stmt *>(getData1());
}
- AnalysisContext *getCalleeContext() const {
- return const_cast<AnalysisContext *>(
- static_cast<const AnalysisContext *>(getData2()));
+ const StackFrameContext *getCalleeContext() const {
+ return static_cast<const StackFrameContext *>(getData2());
}
static bool classof(const ProgramPoint *Location) {
diff --git a/include/clang/Checker/PathSensitive/AnalysisManager.h b/include/clang/Checker/PathSensitive/AnalysisManager.h
index fe50699753..79d9903890 100644
--- a/include/clang/Checker/PathSensitive/AnalysisManager.h
+++ b/include/clang/Checker/PathSensitive/AnalysisManager.h
@@ -154,7 +154,7 @@ public:
bool hasIndexer() const { return Idxer != 0; }
- const AnalysisContext *getAnalysisContextInAnotherTU(const Decl *D);
+ AnalysisContext *getAnalysisContextInAnotherTU(const Decl *D);
CFG *getCFG(Decl const *D) {
return AnaCtxMgr.getContext(D)->getCFG();
diff --git a/include/clang/Checker/PathSensitive/GRCoreEngine.h b/include/clang/Checker/PathSensitive/GRCoreEngine.h
index 58c148f66d..8e9f3973b6 100644
--- a/include/clang/Checker/PathSensitive/GRCoreEngine.h
+++ b/include/clang/Checker/PathSensitive/GRCoreEngine.h
@@ -482,11 +482,12 @@ class GRCallEnterNodeBuilder {
const ExplodedNode *Pred;
- // The call site.
+ // The call site. For implicit automatic object dtor, this is the trigger
+ // statement.
const Stmt *CE;
- // The AnalysisContext of the callee.
- AnalysisContext *CalleeCtx;
+ // The context of the callee.
+ const StackFrameContext *CalleeCtx;
// The parent block of the CallExpr.
const CFGBlock *Block;
@@ -496,7 +497,7 @@ class GRCallEnterNodeBuilder {
public:
GRCallEnterNodeBuilder(GRCoreEngine &eng, const ExplodedNode *pred,
- const Stmt *s, AnalysisContext *callee,
+ const Stmt *s, const StackFrameContext *callee,
const CFGBlock *blk, unsigned idx)
: Eng(eng), Pred(pred), CE(s), CalleeCtx(callee), Block(blk), Index(idx) {}
@@ -508,13 +509,13 @@ public:
const Stmt *getCallExpr() const { return CE; }
- AnalysisContext *getCalleeContext() const { return CalleeCtx; }
+ const StackFrameContext *getCalleeContext() const { return CalleeCtx; }
const CFGBlock *getBlock() const { return Block; }
unsigned getIndex() const { return Index; }
- void GenerateNode(const GRState *state, const LocationContext *LocCtx);
+ void GenerateNode(const GRState *state);
};
class GRCallExitNodeBuilder {