diff options
author | Jordan Rose <jordan_rose@apple.com> | 2012-07-02 19:28:09 +0000 |
---|---|---|
committer | Jordan Rose <jordan_rose@apple.com> | 2012-07-02 19:28:09 +0000 |
commit | cbeef5588624b930da980b32d36978a915568965 (patch) | |
tree | 0ca2c8f9a5af509df3327f12ed53deabf051f707 /clang/lib/StaticAnalyzer/Core/CheckerManager.cpp | |
parent | 547060b30b4bc90ea84266138fed383abe7634c8 (diff) | |
download | bcm5719-llvm-cbeef5588624b930da980b32d36978a915568965.tar.gz bcm5719-llvm-cbeef5588624b930da980b32d36978a915568965.zip |
[analyzer] Use CallEvent for inlining and call default-evaluation.
llvm-svn: 159560
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/CheckerManager.cpp')
-rw-r--r-- | clang/lib/StaticAnalyzer/Core/CheckerManager.cpp | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp b/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp index 5cb1b49c150..e4209e50b3a 100644 --- a/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp +++ b/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp @@ -461,16 +461,9 @@ CheckerManager::runCheckersForEvalAssume(ProgramStateRef state, /// Only one checker will evaluate the call. void CheckerManager::runCheckersForEvalCall(ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, - const CallExpr *CE, - ExprEngine &Eng, - GraphExpander *defaultEval) { - if (EvalCallCheckers.empty() && - InlineCallCheckers.empty() && - defaultEval == 0) { - Dst.insert(Src); - return; - } - + const SimpleCall &Call, + ExprEngine &Eng) { + const CallExpr *CE = Call.getOriginExpr(); for (ExplodedNodeSet::iterator NI = Src.begin(), NE = Src.end(); NI != NE; ++NI) { @@ -533,12 +526,8 @@ void CheckerManager::runCheckersForEvalCall(ExplodedNodeSet &Dst, } // If none of the checkers evaluated the call, ask ExprEngine to handle it. - if (!anyEvaluated) { - if (defaultEval) - defaultEval->expandGraph(Dst, Pred); - else - Dst.insert(Pred); - } + if (!anyEvaluated) + Eng.defaultEvalCall(Dst, Pred, Call); } } @@ -678,6 +667,3 @@ CheckerManager::~CheckerManager() { for (unsigned i = 0, e = CheckerDtors.size(); i != e; ++i) CheckerDtors[i](); } - -// Anchor for the vtable. -GraphExpander::~GraphExpander() { } |