re PR target/45099 ([avr] Warning could be issued for use of register variables that will fail.)

PR target/45099
	* config/avr/avr.c (avr_function_arg_advance): Change error to
	warning if a fixed register is needed as function argument.

From-SVN: r179040
This commit is contained in:
Georg-Johann Lay 2011-09-21 09:40:13 +00:00 committed by Georg-Johann Lay
parent 88cb6dd256
commit e3e285857d
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2011-09-21 Georg-Johann Lay <avr@gjlay.de>
PR target/45099
* config/avr/avr.c (avr_function_arg_advance): Change error to
warning if a fixed register is needed as function argument.
2011-09-21 Georg-Johann Lay <avr@gjlay.de>
PR target/50449

View File

@ -1810,7 +1810,7 @@ avr_function_arg_advance (cumulative_args_t cum_v, enum machine_mode mode,
/* Test if all registers needed by the ABI are actually available. If the
user has fixed a GPR needed to pass an argument, an (implicit) function
call would clobber that fixed register. See PR45099 for an example. */
call will clobber that fixed register. See PR45099 for an example. */
if (cum->regno >= 8
&& cum->nregs >= 0)
@ -1819,8 +1819,8 @@ avr_function_arg_advance (cumulative_args_t cum_v, enum machine_mode mode,
for (regno = cum->regno; regno < cum->regno + bytes; regno++)
if (fixed_regs[regno])
error ("Register %s is needed to pass a parameter but is fixed",
reg_names[regno]);
warning (0, "fixed register %s used to pass parameter to function",
reg_names[regno]);
}
if (cum->nregs <= 0)