diff options
author | David Blaikie <dblaikie@gmail.com> | 2012-01-24 04:29:23 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2012-01-24 04:29:23 +0000 |
commit | 7154c03b366c4a6d83c086b624af269f779eb7b0 (patch) | |
tree | 47fa70605cd909f05f749d41e0695af42892012e /lib/Analysis | |
parent | 36b7c63664bea8e9aa85a024c515877be2ff92fa (diff) |
Support undefined dependent bases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148775 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis')
-rw-r--r-- | lib/Analysis/CFG.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/Analysis/CFG.cpp b/lib/Analysis/CFG.cpp index 7b84710b59..c760d49899 100644 --- a/lib/Analysis/CFG.cpp +++ b/lib/Analysis/CFG.cpp @@ -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. |