summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2012-02-16 20:56:01 +0000
committerTed Kremenek <kremenek@apple.com>2012-02-16 20:56:01 +0000
commit2eef6b9e4b70f01bb164537688492aaa9506d5f3 (patch)
tree0eabeeea6c23aeb3363f0d9510540ed2cd81ff4f /clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
parent35e55fe49fdeb07499b6a7d20decbd44ae9755a6 (diff)
downloadbcm5719-llvm-2eef6b9e4b70f01bb164537688492aaa9506d5f3.tar.gz
bcm5719-llvm-2eef6b9e4b70f01bb164537688492aaa9506d5f3.zip
Add checker visitation hooks in ExprEngine::Visit() for common no-op expressions. To be used later.
llvm-svn: 150723
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/ExprEngine.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/ExprEngine.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp b/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
index b0ed1815f9a..6f588c5ae13 100644
--- a/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
+++ b/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
@@ -590,9 +590,14 @@ void ExprEngine::Visit(const Stmt *S, ExplodedNode *Pred,
case Stmt::CXXBoolLiteralExprClass:
case Stmt::FloatingLiteralClass:
case Stmt::SizeOfPackExprClass:
- case Stmt::CXXNullPtrLiteralExprClass:
- // No-op. Simply propagate the current state unchanged.
+ case Stmt::CXXNullPtrLiteralExprClass: {
+ Bldr.takeNodes(Pred);
+ ExplodedNodeSet preVisit;
+ getCheckerManager().runCheckersForPreStmt(preVisit, Pred, S, *this);
+ getCheckerManager().runCheckersForPostStmt(Dst, preVisit, S, *this);
+ Bldr.addNodes(Dst);
break;
+ }
case Stmt::ArraySubscriptExprClass:
Bldr.takeNodes(Pred);
OpenPOWER on IntegriCloud