diff options
Diffstat (limited to 'clang/lib/CodeGen/CGClass.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGClass.cpp | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/clang/lib/CodeGen/CGClass.cpp b/clang/lib/CodeGen/CGClass.cpp index 6bb3af20382..bc38a977af7 100644 --- a/clang/lib/CodeGen/CGClass.cpp +++ b/clang/lib/CodeGen/CGClass.cpp @@ -1200,14 +1200,12 @@ HasTrivialDestructorBody(ASTContext &Context, return false; // Check non-virtual bases. - for (CXXRecordDecl::base_class_const_iterator I = - BaseClassDecl->bases_begin(), E = BaseClassDecl->bases_end(); - I != E; ++I) { - if (I->isVirtual()) + for (const auto &I : BaseClassDecl->bases()) { + if (I.isVirtual()) continue; const CXXRecordDecl *NonVirtualBase = - cast<CXXRecordDecl>(I->getType()->castAs<RecordType>()->getDecl()); + cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl()); if (!HasTrivialDestructorBody(Context, NonVirtualBase, MostDerivedClassDecl)) return false; @@ -1484,10 +1482,7 @@ void CodeGenFunction::EnterDtorCleanups(const CXXDestructorDecl *DD, assert(DtorType == Dtor_Base); // Destroy non-virtual bases. - for (CXXRecordDecl::base_class_const_iterator I = - ClassDecl->bases_begin(), E = ClassDecl->bases_end(); I != E; ++I) { - const CXXBaseSpecifier &Base = *I; - + for (const auto &Base : ClassDecl->bases()) { // Ignore virtual bases. if (Base.isVirtual()) continue; @@ -1933,10 +1928,9 @@ CodeGenFunction::InitializeVTablePointers(BaseSubobject Base, const CXXRecordDecl *RD = Base.getBase(); // Traverse bases. - for (CXXRecordDecl::base_class_const_iterator I = RD->bases_begin(), - E = RD->bases_end(); I != E; ++I) { + for (const auto &I : RD->bases()) { CXXRecordDecl *BaseDecl - = cast<CXXRecordDecl>(I->getType()->getAs<RecordType>()->getDecl()); + = cast<CXXRecordDecl>(I.getType()->getAs<RecordType>()->getDecl()); // Ignore classes without a vtable. if (!BaseDecl->isDynamicClass()) @@ -1946,7 +1940,7 @@ CodeGenFunction::InitializeVTablePointers(BaseSubobject Base, CharUnits BaseOffsetFromNearestVBase; bool BaseDeclIsNonVirtualPrimaryBase; - if (I->isVirtual()) { + if (I.isVirtual()) { // Check if we've visited this virtual base before. if (!VBases.insert(BaseDecl)) continue; @@ -1967,7 +1961,7 @@ CodeGenFunction::InitializeVTablePointers(BaseSubobject Base, } InitializeVTablePointers(BaseSubobject(BaseDecl, BaseOffset), - I->isVirtual() ? BaseDecl : NearestVBase, + I.isVirtual() ? BaseDecl : NearestVBase, BaseOffsetFromNearestVBase, BaseDeclIsNonVirtualPrimaryBase, VTableClass, VBases); |