On Fri, Sep 7, 2012 at 2:14 AM, NAKAMURA Takumi <[email protected]> wrote: > Aaron, I forgot to mention fastcall. Shall we handle fastcall as well?
Yes, and __thiscall as well. Basically, it seems like CC_Default is
what should be specified always on x64 for Windows.
This also brings up a mangling bug with x64 functions:
define linkonce_odr x86_thiscallcc i32
@"\01?f@foo@@QAEHXZ"(%class.foo* %this) nounwind align 2 {
PUBLIC ?f@foo@@QEAAHXZ ; foo::f
And a behavior bug with x86 C functions (but not x64!) in that MSVC
produces an error when you specify __thiscall on a non-class member
function.
But I think those are separate patches from this one. I've filed two
bug reports about __thiscall behavior differences that have cropped up
during this endeavor (PR13791 and PR13792).
Latest patch attached addressing the other calling conventions and
adding a FIXME for retaining the original attribute spelling.
~Aaron
callconv.patch
Description: Binary data
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
