regclass.c (fix_register): Add error message.
* regclass.c (fix_register): Add error message. * invoke.texi (-fcall-used-REG,-fcall-saved-REG): Note the new error message From-SVN: r23198
This commit is contained in:
parent
0ca3fb0a16
commit
cb2fdc843b
@ -1,3 +1,9 @@
|
|||||||
|
Tue Oct 20 10:59:02 1998 Gavin Romig-Koch <gavin@cygnus.com>
|
||||||
|
|
||||||
|
* regclass.c (fix_register): Add error message.
|
||||||
|
* invoke.texi (-fcall-used-REG,-fcall-saved-REG): Note the
|
||||||
|
new error message.
|
||||||
|
|
||||||
Tue Oct 20 10:12:17 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
Tue Oct 20 10:12:17 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||||
|
|
||||||
* c-decl.c (warn_missing_noreturn): New global variable.
|
* c-decl.c (warn_missing_noreturn): New global variable.
|
||||||
|
@ -5819,9 +5819,9 @@ clobbered by function calls. It may be allocated for temporaries or
|
|||||||
variables that do not live across a call. Functions compiled this way
|
variables that do not live across a call. Functions compiled this way
|
||||||
will not save and restore the register @var{reg}.
|
will not save and restore the register @var{reg}.
|
||||||
|
|
||||||
Use of this flag for a register that has a fixed pervasive role in the
|
It is an error to used this flag with the frame pointer or stack pointer.
|
||||||
machine's execution model, such as the stack pointer or frame pointer,
|
Use of this flag for other registers that have fixed pervasive roles in
|
||||||
will produce disastrous results.
|
the machine's execution model will produce disastrous results.
|
||||||
|
|
||||||
This flag does not have a negative form, because it specifies a
|
This flag does not have a negative form, because it specifies a
|
||||||
three-way choice.
|
three-way choice.
|
||||||
@ -5832,9 +5832,9 @@ functions. It may be allocated even for temporaries or variables that
|
|||||||
live across a call. Functions compiled this way will save and restore
|
live across a call. Functions compiled this way will save and restore
|
||||||
the register @var{reg} if they use it.
|
the register @var{reg} if they use it.
|
||||||
|
|
||||||
Use of this flag for a register that has a fixed pervasive role in the
|
It is an error to used this flag with the frame pointer or stack pointer.
|
||||||
machine's execution model, such as the stack pointer or frame pointer,
|
Use of this flag for other registers that have fixed pervasive roles in
|
||||||
will produce disastrous results.
|
the machine's execution model will produce disastrous results.
|
||||||
|
|
||||||
A different sort of disaster will result from the use of this flag for
|
A different sort of disaster will result from the use of this flag for
|
||||||
a register in which function values may be returned.
|
a register in which function values may be returned.
|
||||||
|
@ -574,8 +574,27 @@ fix_register (name, fixed, call_used)
|
|||||||
|
|
||||||
if ((i = decode_reg_name (name)) >= 0)
|
if ((i = decode_reg_name (name)) >= 0)
|
||||||
{
|
{
|
||||||
fixed_regs[i] = fixed;
|
if ((i == STACK_POINTER_REGNUM
|
||||||
call_used_regs[i] = call_used;
|
#ifdef HARD_FRAME_POINTER_REGNUM
|
||||||
|
|| i == HARD_FRAME_POINTER_REGNUM
|
||||||
|
#else
|
||||||
|
|| i == FRAME_POINTER_REGNUM
|
||||||
|
#endif
|
||||||
|
)
|
||||||
|
&& (fixed == 0 || call_used == 0))
|
||||||
|
{
|
||||||
|
static char* what_option[2][2] = {
|
||||||
|
"call-saved", "call-used",
|
||||||
|
"no-such-option", "fixed" };
|
||||||
|
|
||||||
|
error ("can't use '%s' as a %s register", name,
|
||||||
|
what_option[fixed][call_used]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fixed_regs[i] = fixed;
|
||||||
|
call_used_regs[i] = call_used;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user