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

Attachment: callconv.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to