diff options
Diffstat (limited to 'clang/lib/AST/VTableBuilder.cpp')
| -rw-r--r-- | clang/lib/AST/VTableBuilder.cpp | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/clang/lib/AST/VTableBuilder.cpp b/clang/lib/AST/VTableBuilder.cpp index 9951126c2c3a..3ded3a51206d 100644 --- a/clang/lib/AST/VTableBuilder.cpp +++ b/clang/lib/AST/VTableBuilder.cpp @@ -2658,12 +2658,7 @@ private: MethodVFTableLocation Loc(MI.VBTableIndex, WhichVFPtr.getVBaseWithVPtr(), WhichVFPtr.NonVirtualOffset, MI.VFTableIndex); if (const CXXDestructorDecl *DD = dyn_cast<CXXDestructorDecl>(MD)) { - // In Microsoft ABI vftable always references vector deleting dtor. - CXXDtorType DtorTy = Context.getTargetInfo().emitVectorDeletingDtors( - Context.getLangOpts()) - ? Dtor_VectorDeleting - : Dtor_Deleting; - MethodVFTableLocations[GlobalDecl(DD, DtorTy)] = Loc; + MethodVFTableLocations[GlobalDecl(DD, Dtor_Deleting)] = Loc; } else { MethodVFTableLocations[MD] = Loc; } @@ -3293,11 +3288,7 @@ void VFTableBuilder::dumpLayout(raw_ostream &Out) { const CXXDestructorDecl *DD = Component.getDestructorDecl(); DD->printQualifiedName(Out); - if (Context.getTargetInfo().emitVectorDeletingDtors( - Context.getLangOpts())) - Out << "() [vector deleting]"; - else - Out << "() [scalar deleting]"; + Out << "() [scalar deleting]"; if (DD->isPureVirtual()) Out << " [pure]"; @@ -3767,7 +3758,7 @@ void MicrosoftVTableContext::dumpMethodLocations( PredefinedIdentKind::PrettyFunctionNoVirtual, MD); if (isa<CXXDestructorDecl>(MD)) { - IndicesMap[I.second] = MethodName + " [vector deleting]"; + IndicesMap[I.second] = MethodName + " [scalar deleting]"; } else { IndicesMap[I.second] = MethodName; } @@ -3883,8 +3874,7 @@ MicrosoftVTableContext::getMethodVFTableLocation(GlobalDecl GD) { assert(hasVtableSlot(cast<CXXMethodDecl>(GD.getDecl())) && "Only use this method for virtual methods or dtors"); if (isa<CXXDestructorDecl>(GD.getDecl())) - assert(GD.getDtorType() == Dtor_VectorDeleting || - GD.getDtorType() == Dtor_Deleting); + assert(GD.getDtorType() == Dtor_Deleting); GD = GD.getCanonicalDecl(); |
