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 | 243a4c46d887b148195e06d6c6ecfd94727a1424 (patch) | |
tree | 8455e3f61d3c285e45dd5c14c2eae45f27f518f9 /clang/lib/Analysis/CFG.cpp | |
parent | 7e625b67e5f9bbee38634a07c11590c05e97a66f (diff) | |
download | bcm5719-llvm-243a4c46d887b148195e06d6c6ecfd94727a1424.tar.gz bcm5719-llvm-243a4c46d887b148195e06d6c6ecfd94727a1424.zip |
Support undefined dependent bases.
llvm-svn: 148775
Diffstat (limited to 'clang/lib/Analysis/CFG.cpp')
-rw-r--r-- | clang/lib/Analysis/CFG.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/clang/lib/Analysis/CFG.cpp b/clang/lib/Analysis/CFG.cpp index 7b84710b594..c760d49899d 100644 --- a/clang/lib/Analysis/CFG.cpp +++ b/clang/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. |