aboutsummaryrefslogtreecommitdiff
path: root/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
commitbdd4c848349d4091d66b052efa453e6d69a77e36 (patch)
treee724c440cfbf5ea791b1840d7c0b04dc61ca6c21 /lib/StaticAnalyzer/Core/ExprEngine.cpp
parent2ac58b7c09938bb28c51c7cd2deada609b75f94c (diff)
Add checker visitation hooks in ExprEngine::Visit() for common no-op expressions. To be used later.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150723 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/StaticAnalyzer/Core/ExprEngine.cpp')
-rw-r--r--lib/StaticAnalyzer/Core/ExprEngine.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/StaticAnalyzer/Core/ExprEngine.cpp b/lib/StaticAnalyzer/Core/ExprEngine.cpp
index b0ed1815f9..6f588c5ae1 100644
--- a/lib/StaticAnalyzer/Core/ExprEngine.cpp
+++ b/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);