]> granicus.if.org Git - clang/commit
Make all virtual member pointers use variadic musttail calls
authorReid Kleckner <reid@kleckner.net>
Fri, 29 Aug 2014 21:43:29 +0000 (21:43 +0000)
committerReid Kleckner <reid@kleckner.net>
Fri, 29 Aug 2014 21:43:29 +0000 (21:43 +0000)
commit8060f1653ba0543397ed65b74c7e39d3b61b95d2
tree3eecab656236762d45035135865a63af853af823
parent486ef7cc535c3baac0df9baa76597963837dc917
Make all virtual member pointers use variadic musttail calls

This avoids encoding information about the function prototype into the
thunk at the cost of some function prototype bitcast gymnastics.

Fixes PR20653.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216782 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGCall.cpp
lib/CodeGen/CodeGenTypes.h
lib/CodeGen/MicrosoftCXXABI.cpp
test/CodeGenCXX/microsoft-abi-member-pointers.cpp
test/CodeGenCXX/microsoft-abi-virtual-member-pointers.cpp
test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp [new file with mode: 0644]
test/CodeGenCXX/microsoft-abi-vmemptr-fastcall.cpp [new file with mode: 0644]