]> granicus.if.org Git - clang/commitdiff
Drop windows specific handling of equivalent destructors.
authorRafael Espindola <rafael.espindola@gmail.com>
Wed, 13 Nov 2013 18:46:32 +0000 (18:46 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Wed, 13 Nov 2013 18:46:32 +0000 (18:46 +0000)
Now that the relevant tests use -mconstructor-aliases and the missing
features have been implemented, we can just drop this.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194595 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGCXX.cpp

index b16c59d5f65032e3e975d02c13e90e53d902a83a..581962f4a4dba4a1b55131ee59c8945946eede65 100644 (file)
@@ -263,15 +263,6 @@ CodeGenModule::GetAddrOfCXXDestructor(const CXXDestructorDecl *dtor,
                                       CXXDtorType dtorType,
                                       const CGFunctionInfo *fnInfo,
                                       llvm::FunctionType *fnType) {
-  // If the class has no virtual bases, then the complete and base destructors
-  // are equivalent, for all C++ ABIs supported by clang.  We can save on code
-  // size by calling the base dtor directly, especially if we'd have to emit a
-  // thunk otherwise.
-  // FIXME: We should do this for Itanium, after verifying that nothing breaks.
-  if (dtorType == Dtor_Complete && dtor->getParent()->getNumVBases() == 0 &&
-      getCXXABI().useThunkForDtorVariant(dtor, Dtor_Complete))
-    dtorType = Dtor_Base;
-
   GlobalDecl GD(dtor, dtorType);
 
   StringRef name = getMangledName(GD);