]> granicus.if.org Git - clang/commit
MS ABI: Remove nv adjustment from direct vdtor calls and prologues
authorReid Kleckner <reid@kleckner.net>
Tue, 18 Feb 2014 22:51:52 +0000 (22:51 +0000)
committerReid Kleckner <reid@kleckner.net>
Tue, 18 Feb 2014 22:51:52 +0000 (22:51 +0000)
commitc825d6a6065a8e5507d948f4466da6328a7fb575
tree313f6edcd0c27afef5b57cda23c41bcc86d71c4f
parent6100ca78dcb6d46ca467d7a5ae243f6bdddeee00
MS ABI: Remove nv adjustment from direct vdtor calls and prologues

Summary:
Generally the vector deleting dtor, which we model as a vtable thunk,
takes care of non-virtual adjustment and delegates to the other
destructor variants.  The other non-complete destructor variants assume
that 'this' on entry points to the virtual base subobject that first
declared the virtual destructor.

We need to change the adjustment in both the prologue and the vdtor call
setup.

Reviewers: timurrrr

CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2821

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201612 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MicrosoftCXXABI.cpp
test/CodeGenCXX/microsoft-abi-structors.cpp