diff options
Diffstat (limited to 'clang/lib/CodeGen/CGClass.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGClass.cpp | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/clang/lib/CodeGen/CGClass.cpp b/clang/lib/CodeGen/CGClass.cpp index d503d332e7d..7a0391b9b9c 100644 --- a/clang/lib/CodeGen/CGClass.cpp +++ b/clang/lib/CodeGen/CGClass.cpp @@ -1814,23 +1814,8 @@ void CodeGenFunction::EmitCXXDestructorCall(const CXXDestructorDecl *DD, bool ForVirtualBase, bool Delegating, llvm::Value *This) { - GlobalDecl GD(DD, Type); - llvm::Value *VTT = GetVTTParameter(GD, ForVirtualBase, Delegating); - llvm::Value *Callee = 0; - if (getLangOpts().AppleKext) - Callee = BuildAppleKextVirtualDestructorCall(DD, Type, - DD->getParent()); - - if (!Callee) - Callee = CGM.GetAddrOfCXXDestructor(DD, Type); - - if (DD->isVirtual()) - This = CGM.getCXXABI().adjustThisArgumentForVirtualCall(*this, GD, This); - - // FIXME: Provide a source location here. - EmitCXXMemberCall(DD, SourceLocation(), Callee, ReturnValueSlot(), This, - VTT, getContext().getPointerType(getContext().VoidPtrTy), - 0, 0); + CGM.getCXXABI().EmitDestructorCall(*this, DD, Type, ForVirtualBase, + Delegating, This); } namespace { |