]> granicus.if.org Git - clang/commitdiff
Add checker visitation hooks in ExprEngine::Visit() for common no-op expressions...
authorTed Kremenek <kremenek@apple.com>
Thu, 16 Feb 2012 20:56:01 +0000 (20:56 +0000)
committerTed Kremenek <kremenek@apple.com>
Thu, 16 Feb 2012 20:56:01 +0000 (20:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150723 91177308-0d34-0410-b5e6-96231b3b80d8

lib/StaticAnalyzer/Core/ExprEngine.cpp

index b0ed1815f9a410dc5431bf9fa24215291b1f80af..6f588c5ae131a06fa53d515286256d7865605bbc 100644 (file)
@@ -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);