]> granicus.if.org Git - clang/commitdiff
Added extra guard for null Stmt* when traversing the AST using VisitChildren.
authorTed Kremenek <kremenek@apple.com>
Wed, 26 Sep 2007 21:36:20 +0000 (21:36 +0000)
committerTed Kremenek <kremenek@apple.com>
Wed, 26 Sep 2007 21:36:20 +0000 (21:36 +0000)
Added assertion that Block-level statements should not be NULL.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42376 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Analysis/Visitors/CFGRecStmtVisitor.h
include/clang/Analysis/Visitors/CFGStmtVisitor.h

index a17b207777b7a0246ec492b86eaa0e269356feed..002c2f0546ab030896f0aa7d2be77d8d83b21bcf 100644 (file)
@@ -28,6 +28,8 @@ public:
   }
   
   void BlockStmt_Visit(Stmt* S) {
+    assert (S);
+    
     static_cast< CFGStmtVisitor<ImplClass>* >(this)->BlockStmt_Visit(S);
     static_cast< ImplClass* >(this)->VisitChildren(S);
   }
index 86181c8551ad1199e3436cbebc355a96629b74c2..afc987309370842b12de321f9210ce034889e504 100644 (file)
@@ -96,7 +96,7 @@ public:
   /// VisitChildren: Call "Visit" on each child of S.
   void VisitChildren(Stmt* S) {
     for (Stmt::child_iterator I=S->child_begin(), E=S->child_end(); I != E;++I)
-      static_cast<ImplClass*>(this)->Visit(*I);    
+      if (*I) static_cast<ImplClass*>(this)->Visit(*I);    
   }
 };