aboutsummaryrefslogtreecommitdiff
path: root/include/clang/StaticAnalyzer/Core/CheckerManager.h
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-02-23 21:04:54 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-02-23 21:04:54 +0000
commitaf5800a1e287990bb547e052f257adeeae5ab476 (patch)
treebc12350131d8eca391fb3c72157c7744bde68f51 /include/clang/StaticAnalyzer/Core/CheckerManager.h
parentf178ac8b68b29e44867777232ba8fee59edc4037 (diff)
[analyzer] Migrate StackAddrLeakChecker to CheckerV2.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126333 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/StaticAnalyzer/Core/CheckerManager.h')
-rw-r--r--include/clang/StaticAnalyzer/Core/CheckerManager.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/clang/StaticAnalyzer/Core/CheckerManager.h b/include/clang/StaticAnalyzer/Core/CheckerManager.h
index fd12864e11..9345585b8e 100644
--- a/include/clang/StaticAnalyzer/Core/CheckerManager.h
+++ b/include/clang/StaticAnalyzer/Core/CheckerManager.h
@@ -36,6 +36,7 @@ namespace ento {
class ExplodedNodeSet;
class ExplodedGraph;
class GRState;
+ class EndOfFunctionNodeBuilder;
class GraphExpander {
public:
@@ -186,6 +187,9 @@ public:
void runCheckersForEndAnalysis(ExplodedGraph &G, BugReporter &BR,
ExprEngine &Eng);
+ /// \brief Run checkers for end of path.
+ void runCheckersForEndPath(EndOfFunctionNodeBuilder &B, ExprEngine &Eng);
+
/// \brief Run checkers for evaluating a call.
void runCheckersForEvalCall(ExplodedNodeSet &Dst,
const ExplodedNodeSet &Src,
@@ -221,6 +225,7 @@ public:
CheckLocationFunc;
typedef CheckerFn<ExplodedGraph &, BugReporter &, ExprEngine &>
CheckEndAnalysisFunc;
+ typedef CheckerFn<EndOfFunctionNodeBuilder &, ExprEngine &> CheckEndPathFunc;
typedef bool (*HandlesStmtFunc)(const Stmt *D);
void _registerForPreStmt(CheckStmtFunc checkfn,
@@ -235,6 +240,8 @@ public:
void _registerForEndAnalysis(CheckEndAnalysisFunc checkfn);
+ void _registerForEndPath(CheckEndPathFunc checkfn);
+
class EvalCallFunc {
typedef bool (*Func)(void *, const CallExpr *, CheckerContext &);
Func Fn;
@@ -316,6 +323,8 @@ private:
std::vector<CheckEndAnalysisFunc> EndAnalysisCheckers;
+ std::vector<CheckEndPathFunc> EndPathCheckers;
+
std::vector<EvalCallFunc> EvalCallCheckers;
};