aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/GRExprEngine.cpp
diff options
context:
space:
mode:
authorZhongxing Xu <xuzhongxing@gmail.com>2009-11-17 07:54:15 +0000
committerZhongxing Xu <xuzhongxing@gmail.com>2009-11-17 07:54:15 +0000
commit243fde9f549a8f5f000c4baccb572dd0b7266a41 (patch)
treeaae9e699e12c5e84023a28bcc836690152b94bea /lib/Analysis/GRExprEngine.cpp
parent314be4e7d8ef86202b0ec8e9ff0dcef853db3320 (diff)
Add EvalEndPath interface to Checker. Now we can check memory leaked at the
end of the path. Need to unify interfaces. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89063 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/GRExprEngine.cpp')
-rw-r--r--lib/Analysis/GRExprEngine.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Analysis/GRExprEngine.cpp b/lib/Analysis/GRExprEngine.cpp
index 0b7afe736e..2633177614 100644
--- a/lib/Analysis/GRExprEngine.cpp
+++ b/lib/Analysis/GRExprEngine.cpp
@@ -902,6 +902,11 @@ void GRExprEngine::VisitGuardedExpr(Expr* Ex, Expr* L, Expr* R,
void GRExprEngine::ProcessEndPath(GREndPathNodeBuilder& builder) {
getTF().EvalEndPath(*this, builder);
StateMgr.EndPath(builder.getState());
+ for (CheckersOrdered::iterator I=Checkers.begin(),E=Checkers.end(); I!=E;++I){
+ void *tag = I->first;
+ Checker *checker = I->second;
+ checker->EvalEndPath(builder, tag, *this);
+ }
}
/// ProcessSwitch - Called by GRCoreEngine. Used to generate successor