]> granicus.if.org Git - clang/commit
Win64: Pass member pointers larger than 8 bytes by reference
authorReid Kleckner <reid@kleckner.net>
Fri, 2 May 2014 00:51:20 +0000 (00:51 +0000)
committerReid Kleckner <reid@kleckner.net>
Fri, 2 May 2014 00:51:20 +0000 (00:51 +0000)
commite0526bf22e4db32891ce6779242dc909a65c5676
tree0cb730ac8ae6035c0c8d8a33fb45d25a4021321f
parentfb3f2a93e5796908d768ad50bc3e51de8332f3dd
Win64: Pass member pointers larger than 8 bytes by reference

The Win64 ABI docs on MSDN say that arguments bigger than 8 bytes are
passed by reference.  Prior to this change, we were only applying this
logic to RecordType arguments.  This affects both the Itanium and
Microsoft C++ ABIs.

Reviewers: majnemer

Differential Revision: http://reviews.llvm.org/D3587

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207817 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/TargetInfo.cpp
test/CodeGenCXX/member-function-pointer-calls.cpp
test/CodeGenCXX/microsoft-abi-member-pointers.cpp