]> granicus.if.org Git - clang/commitdiff
Support undefined dependent bases.
authorDavid Blaikie <dblaikie@gmail.com>
Tue, 24 Jan 2012 04:29:23 +0000 (04:29 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 24 Jan 2012 04:29:23 +0000 (04:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148775 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/CFG.cpp

index 7b84710b59448e4f222b5c2c8afd92c90e3f39ad..c760d49899d63fcfc64ea83f72c40b0939bf5c8b 100644 (file)
@@ -750,13 +750,12 @@ void CFGBuilder::addImplicitDtorsForDestructor(const CXXDestructorDecl *DD) {
   // Before virtual bases destroy direct base objects.
   for (CXXRecordDecl::base_class_const_iterator BI = RD->bases_begin(),
       BE = RD->bases_end(); BI != BE; ++BI) {
-    if (!BI->isVirtual()) {
-      const CXXRecordDecl *CD = BI->getType()->getAsCXXRecordDecl();
-      if (!CD->hasTrivialDestructor()) {
-        autoCreateBlock();
-        appendBaseDtor(Block, BI);
-      }
-    }
+    if (!BI->isVirtual())
+      if (const CXXRecordDecl *CD = BI->getType()->getAsCXXRecordDecl())
+        if (!CD->hasTrivialDestructor()) {
+          autoCreateBlock();
+          appendBaseDtor(Block, BI);
+        }
   }
 
   // First destroy member objects.