summaryrefslogtreecommitdiff
path: root/clang/lib/AST/VTableBuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/AST/VTableBuilder.cpp')
-rw-r--r--clang/lib/AST/VTableBuilder.cpp18
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();