diff options
author | Zhongxing Xu <xuzhongxing@gmail.com> | 2009-08-29 02:11:01 +0000 |
---|---|---|
committer | Zhongxing Xu <xuzhongxing@gmail.com> | 2009-08-29 02:11:01 +0000 |
commit | 6fd66d458812cd66441f7ae9da2310e50f4c4075 (patch) | |
tree | d874fda3e01f38e49a97af89ecaf5daa5dcb0cae /clang/lib/Analysis/GRExprEngine.cpp | |
parent | 1e172e068fd16ce625fdbf7ed02c3221d0596955 (diff) | |
download | bcm5719-llvm-6fd66d458812cd66441f7ae9da2310e50f4c4075.tar.gz bcm5719-llvm-6fd66d458812cd66441f7ae9da2310e50f4c4075.zip |
Refactor undefined argument checking into a Checker.
llvm-svn: 80417
Diffstat (limited to 'clang/lib/Analysis/GRExprEngine.cpp')
-rw-r--r-- | clang/lib/Analysis/GRExprEngine.cpp | 25 |
1 files changed, 1 insertions, 24 deletions
diff --git a/clang/lib/Analysis/GRExprEngine.cpp b/clang/lib/Analysis/GRExprEngine.cpp index de0209a3a1a..d66dfffd318 100644 --- a/clang/lib/Analysis/GRExprEngine.cpp +++ b/clang/lib/Analysis/GRExprEngine.cpp @@ -1626,30 +1626,7 @@ void GRExprEngine::VisitCallRec(CallExpr* CE, ExplodedNode* Pred, default: break; } - } - - // Check any arguments passed-by-value against being undefined. - - bool badArg = false; - - for (CallExpr::arg_iterator I = CE->arg_begin(), E = CE->arg_end(); - I != E; ++I) { - - if (GetState(*DI)->getSVal(*I).isUndef()) { - ExplodedNode* N = Builder->generateNode(CE, GetState(*DI), *DI); - - if (N) { - N->markAsSink(); - UndefArgs[N] = *I; - } - - badArg = true; - break; - } - } - - if (badArg) - continue; + } // Dispatch to the plug-in transfer function. |