diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-02-23 21:04:54 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-02-23 21:04:54 +0000 |
commit | af5800a1e287990bb547e052f257adeeae5ab476 (patch) | |
tree | bc12350131d8eca391fb3c72157c7744bde68f51 /include/clang/StaticAnalyzer/Core/CheckerManager.h | |
parent | f178ac8b68b29e44867777232ba8fee59edc4037 (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.h | 9 |
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; }; |