You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
probably need to do some magic to enforce SX calling convention.
affected testcases:
gcc.dg/builtin-apply2.c
gcc.dg/builtin-apply3.c
gcc.dg/builtin-apply4.c
gcc.dg/builtin-return-1.c
Original issue reported on code.google.com by [email protected] on 30 Jan 2009 at 10:04
The text was updated successfully, but these errors were encountered:
__builtin_apply() is seriously broken, and probably can not be fixed without
patching
the the target-independent sources(gcc/builtins.c:expand_builtin_apply()).
perhaps wait for port to 4.4/4.5?
the main problem with __builtin_apply() is that is subtracts the size of the
arguments passed to it from arg pointer:
#ifndef STACK_GROWS_DOWNWARD
incoming_args = expand_simple_binop (Pmode, MINUS, incoming_args, argsize,
incoming_args, 0, OPTAB_LIB_WIDEN);
#endif
arg pointer, however, points to the bottom of the arguments already. similar
occurs
when calculating dest address for outgoing arguments, a few lines onward.
Original issue reported on code.google.com by
[email protected]
on 30 Jan 2009 at 10:04The text was updated successfully, but these errors were encountered: