summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/GRExprEngine.cpp
diff options
context:
space:
mode:
authorZhongxing Xu <xuzhongxing@gmail.com>2008-10-07 10:06:03 +0000
committerZhongxing Xu <xuzhongxing@gmail.com>2008-10-07 10:06:03 +0000
commitde7509f01ad6a9bed89dde95fab0483c222ed555 (patch)
tree7cb1fe48b93c5bec2997f3ad0013a7d970191d6e /clang/lib/Analysis/GRExprEngine.cpp
parenteefa7dfcd3a2727bc9de89f410b2b1a9a8512ef4 (diff)
downloadbcm5719-llvm-de7509f01ad6a9bed89dde95fab0483c222ed555.tar.gz
bcm5719-llvm-de7509f01ad6a9bed89dde95fab0483c222ed555.zip
Added a function call case that generates sink nodes.
llvm-svn: 57240
Diffstat (limited to 'clang/lib/Analysis/GRExprEngine.cpp')
-rw-r--r--clang/lib/Analysis/GRExprEngine.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Analysis/GRExprEngine.cpp b/clang/lib/Analysis/GRExprEngine.cpp
index 1c3a170a568..a6b501372f3 100644
--- a/clang/lib/Analysis/GRExprEngine.cpp
+++ b/clang/lib/Analysis/GRExprEngine.cpp
@@ -1131,6 +1131,12 @@ void GRExprEngine::VisitCall(CallExpr* CE, NodeTy* Pred,
case 5:
if (!memcmp(s, "panic", 5)) Builder->BuildSinks = true;
+ else if (!memcmp(s, "error", 5)) {
+ Expr* Arg = *CE->arg_begin();
+ if (IntegerLiteral* IL = dyn_cast<IntegerLiteral>(Arg))
+ if (IL->getValue() != 0)
+ Builder->BuildSinks = true;
+ }
break;
case 6:
OpenPOWER on IntegriCloud