mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 00:01:21 +08:00
avr.c (avr_function_arg_advance): Fix thinko about when a value is actually passed in regs.
* config/avr/avr.c (avr_function_arg_advance): Fix thinko about when a value is actually passed in regs. From-SVN: r174898
This commit is contained in:
parent
b11b09048d
commit
3f5ea9dc58
@ -1,3 +1,8 @@
|
||||
2011-06-10 Georg-Johann Lay <avr@gjlay.de>
|
||||
|
||||
* config/avr/avr.c (avr_function_arg_advance): Fix thinko about
|
||||
when a value is actually passed in regs.
|
||||
|
||||
2011-06-10 Eric Botcazou <ebotcazou@adacore.com>
|
||||
Laurent Rougé <laurent.rouge@menta.fr>
|
||||
|
||||
|
@ -1784,7 +1784,8 @@ avr_function_arg_advance (CUMULATIVE_ARGS *cum, enum machine_mode mode,
|
||||
a function must not pass arguments in call-saved regs in order to get
|
||||
tail-called. */
|
||||
|
||||
if (cum->regno >= 0
|
||||
if (cum->regno >= 8
|
||||
&& cum->nregs >= 0
|
||||
&& !call_used_regs[cum->regno])
|
||||
{
|
||||
/* FIXME: We ship info on failing tail-call in struct machine_function.
|
||||
@ -1800,7 +1801,8 @@ avr_function_arg_advance (CUMULATIVE_ARGS *cum, enum machine_mode mode,
|
||||
user has fixed a GPR needed to pass an argument, an (implicit) function
|
||||
call would clobber that fixed register. See PR45099 for an example. */
|
||||
|
||||
if (cum->regno >= 0)
|
||||
if (cum->regno >= 8
|
||||
&& cum->nregs >= 0)
|
||||
{
|
||||
int regno;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user