]> granicus.if.org Git - clang/commit
MS ABI: Mangle virtual member pointer thunks with the correct CC
authorDavid Majnemer <david.majnemer@gmail.com>
Sat, 14 Mar 2015 06:34:41 +0000 (06:34 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Sat, 14 Mar 2015 06:34:41 +0000 (06:34 +0000)
commitff2e23b47e44b2919d3a744ff8468c4f661e894f
treee93b125dbc4d7b33f1c90efab6e4a4c5688cadec
parentb80f819ba523fdc43c2f7ac4a4e3fecb594d17e8
MS ABI: Mangle virtual member pointer thunks with the correct CC

Virtual member pointers are implemented using a thunk.  We assumed that
the calling convention for this thunk was always __thiscall for 32-bit
targets and __cdecl for 64-bit targets.  However, this is not the case.
Mangle in whichever calling convention is appropriate for this member
function thunk.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@232254 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AST/MicrosoftMangle.cpp
test/CodeGenCXX/microsoft-abi-virtual-member-pointers.cpp
test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp