r194595 - Drop windows specific handling of equivalent destructors.

Rafael Espindola rafael.espindola at gmail.com
Wed Nov 13 10:46:32 PST 2013


Author: rafael
Date: Wed Nov 13 12:46:32 2013
New Revision: 194595

URL: http://llvm.org/viewvc/llvm-project?rev=194595&view=rev
Log:
Drop windows specific handling of equivalent destructors.

Now that the relevant tests use -mconstructor-aliases and the missing
features have been implemented, we can just drop this.

No functionality change.

Modified:
    cfe/trunk/lib/CodeGen/CGCXX.cpp

Modified: cfe/trunk/lib/CodeGen/CGCXX.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGCXX.cpp?rev=194595&r1=194594&r2=194595&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGCXX.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGCXX.cpp Wed Nov 13 12:46:32 2013
@@ -263,15 +263,6 @@ CodeGenModule::GetAddrOfCXXDestructor(co
                                       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);





More information about the cfe-commits mailing list