Eli, I copied my code from this code...  Let's fix the souce of the bad idea!

Thanks.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90458 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGVtable.cpp b/lib/CodeGen/CGVtable.cpp
index 25da95e..8cbd6ad 100644
--- a/lib/CodeGen/CGVtable.cpp
+++ b/lib/CodeGen/CGVtable.cpp
@@ -318,12 +318,9 @@
   llvm::Constant *WrapAddrOf(GlobalDecl GD) {
     const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
 
-    if (const CXXDestructorDecl *Dtor = dyn_cast<CXXDestructorDecl>(MD))
-      return wrap(CGM.GetAddrOfCXXDestructor(Dtor, GD.getDtorType()));
-
     const llvm::Type *Ty = CGM.getTypes().GetFunctionTypeForVtable(MD);
 
-    return wrap(CGM.GetAddrOfFunction(MD, Ty));
+    return wrap(CGM.GetAddrOfFunction(GD, Ty));
   }
 
   void OverrideMethods(Path_t *Path, bool MorallyVirtual, int64_t Offset,