[analyzer] Migrate MallocChecker to CheckerV2.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126606 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/StaticAnalyzer/Checkers/ExprEngine.cpp b/lib/StaticAnalyzer/Checkers/ExprEngine.cpp
index c1b1e65..afa97d0 100644
--- a/lib/StaticAnalyzer/Checkers/ExprEngine.cpp
+++ b/lib/StaticAnalyzer/Checkers/ExprEngine.cpp
@@ -267,10 +267,12 @@
SVal val, bool isPrevisit) {
if (Checkers.empty()) {
- Dst.insert(Src);
+ getCheckerManager().runCheckersForBind(Dst, Src, location, val, StoreE,
+ *this);
return;
}
+ ExplodedNodeSet CheckerV1Tmp;
ExplodedNodeSet Tmp;
ExplodedNodeSet *PrevSet = &Src;
@@ -278,7 +280,7 @@
{
ExplodedNodeSet *CurrSet = 0;
if (I+1 == E)
- CurrSet = &Dst;
+ CurrSet = &CheckerV1Tmp;
else {
CurrSet = (PrevSet == &Tmp) ? &Src : &Tmp;
CurrSet->clear();
@@ -296,6 +298,9 @@
PrevSet = CurrSet;
}
+ getCheckerManager().runCheckersForBind(Dst, CheckerV1Tmp, location, val,
+ StoreE, *this);
+
// Don't autotransition. The CheckerContext objects should do this
// automatically.
}
@@ -493,6 +498,8 @@
CO_Ref = NewCO.take();
}
+ state = getCheckerManager().runCheckersForEvalAssume(state, cond, assumption);
+
// If the state is infeasible at this point, bail out.
if (!state)
return NULL;