blob: 2a8c5156368358c97af5da2a83804ba73621de6d [file] [log] [blame]
/* Verify that we do not optimize away the frame header in foo when using
-mframe-header-opt but are calling a weak function that may be overridden
by a different function that does need the frame header. Without the
optimization foo should increment the stack by 24 bytes, with the
optimization it would only be 8 bytes. */
/* { dg-do compile } */
/* { dg-options "-mframe-header-opt -mabi=32 -mno-abicalls" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "\taddiu\t\\\$sp,\\\$sp,-24" } } */
NOMIPS16 void __attribute__((noinline, weak))
bar (int* a)
{
*a = 1;
}
void
NOMIPS16 foo (int a)
{
bar (&a);
}