diff options
| author | Zhongxing Xu <xuzhongxing@gmail.com> | 2009-09-02 08:10:35 +0000 |
|---|---|---|
| committer | Zhongxing Xu <xuzhongxing@gmail.com> | 2009-09-02 08:10:35 +0000 |
| commit | 79affb7b94f06e462c3a4998f84b0a43af79471e (patch) | |
| tree | af4272a3e845582aeb1803ed11ab5ac2b931e425 /clang/lib/Analysis/GRExprEngine.cpp | |
| parent | 656b10a1fabdbefa14774fc138ca75127975576f (diff) | |
| download | bcm5719-llvm-79affb7b94f06e462c3a4998f84b0a43af79471e.tar.gz bcm5719-llvm-79affb7b94f06e462c3a4998f84b0a43af79471e.zip | |
Refactor bad callee check into a Checker.
Now bad callee is checked as a PreVisit to the CallExpr.
llvm-svn: 80771
Diffstat (limited to 'clang/lib/Analysis/GRExprEngine.cpp')
| -rw-r--r-- | clang/lib/Analysis/GRExprEngine.cpp | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/clang/lib/Analysis/GRExprEngine.cpp b/clang/lib/Analysis/GRExprEngine.cpp index d0b6bbf0956..a6b580b865a 100644 --- a/clang/lib/Analysis/GRExprEngine.cpp +++ b/clang/lib/Analysis/GRExprEngine.cpp @@ -1493,20 +1493,7 @@ void GRExprEngine::VisitCallRec(CallExpr* CE, ExplodedNode* Pred, // FIXME: Add support for symbolic function calls (calls involving // function pointer values that are symbolic). - - // Check for undefined control-flow or calls to NULL. - - if (L.isUndef() || isa<loc::ConcreteInt>(L)) { - ExplodedNode* N = Builder->generateNode(CE, state, *DI); - - if (N) { - N->markAsSink(); - BadCalls.insert(N); - } - - continue; - } - + // Check for the "noreturn" attribute. SaveAndRestore<bool> OldSink(Builder->BuildSinks); |

