Steve Ellcey <[email protected]> writes:
> On Tue, 2015-11-10 at 15:57 -0800, Steve Ellcey wrote:
> > 2015-11-10 Steve Ellcey <[email protected]>
> >
> > * config/mips/mips.c (mips_promote_function_mode): New function.
> > (TARGET_PROMOTE_FUNCTION_MODE): Define as above function.
> > (TARGET_PROMOTE_PROTOTYPES): Remove.
I'm OK with this change on the basis that MIPS has been providing stronger
guarantees than required by the various standards. I.e. after this change
MIPS will have undefined behaviour for a mismatch in types between a
call to an un-prototyped function and its definition:
extern void foo();
void caller(int a)
{
foo(a);
}
--
void foo(short a)
{
// the value of 'a' can be out of range of a short because the caller
// did not get the right type for the argument.
}
Thanks,
Matthew