This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: va-arg-25.c still fails on i686-linux


> Jan Hubicka <hubicka@ucw.cz> writes:
> 
> >> 
> >> On 09/01/2004, at 11:06 PM, Zack Weinberg wrote:
> >> 
> >> >
> >> >I am still seeing va-arg-25.c fail at all optimization levels on
> >> >i686-linux.  It has done so, as far as I can tell, ever since it
> >> >was introduced.  Could you please either fix it or XFAIL it?
> >> >
> >> I think it would be better if an x86 port maintainer looked at this 
> >> failure.  The testcase does not fail on powerpc-Darwin.
> >
> > It don't even need x86 port maintainer :)
> > The problem is wrong aligning of va_arg inside builtins.c when argument
> > alignment exceeds PARM_BOUNDARY.
> >
> > Additionally I noticed some problems with SSE enabled (we mistakely used
> > SSE regiser for variadic call and output warning)
> >
> > Note that I am not quite sure about the PAD_VARARGS_DOWN check, it just
> > seems appropriate at that place.
> >
> > Bootstrapping/regtesting in progress, OK if it passes?
> 
> The concept looks good but I am nervous about a change in
> machine-independent code.  Can you arrange testing on a few more
> architectures?  (especially ones with complicated rules about
> arguments being passed in registers - ia64 comes to mind).

Geoff kindly tested this on rs6000 without the workaround in machine
specific code the port had and it did work for him too.
I don't know about any other target that can trigger this scenario, so
hope that this is enough of testing.

Honza
> 
> Also please add commentary to std_expand_builtin_va_arg explaining
> what this code is doing.
> 
> zw


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]