i386.c (x86_this_parameter): Handle aggregate for __thiscall convention.

2010-04-12  Kai Tietz  <kai.tietz@onevision.com>

        PR/43702
        * config/i386/i386.c (x86_this_parameter): Handle aggregate for
        __thiscall convention.

From-SVN: r158232
This commit is contained in:
Kai Tietz 2010-04-12 18:04:44 +00:00 committed by Kai Tietz
parent b38bcccad0
commit c1b8e1399f
2 changed files with 12 additions and 4 deletions

View file

@ -1,3 +1,9 @@
2010-04-12 Kai Tietz <kai.tietz@onevision.com>
PR/43702
* config/i386/i386.c (x86_this_parameter): Handle aggregate for
__thiscall convention.
2010-04-12 Steve Ellcey <sje@cup.hp.com>
* config/pa/pa.c (hppa_legitimize_address): Remove unused variable

View file

@ -26232,11 +26232,13 @@ x86_this_parameter (tree function)
if (lookup_attribute ("fastcall", TYPE_ATTRIBUTES (type)))
regno = aggr ? DX_REG : CX_REG;
/* ???: To be verified. It is not absolutely clear how aggregates
have to be treated for thiscall. We assume that they are
identical to fastcall. */
else if (lookup_attribute ("thiscall", TYPE_ATTRIBUTES (type)))
regno = aggr ? DX_REG : CX_REG;
{
regno = CX_REG;
if (aggr)
return gen_rtx_MEM (SImode,
plus_constant (stack_pointer_rtx, 4));
}
else
{
regno = AX_REG;