blob: e45f433f73cdf807559daee0462eacccb7ce064a [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O0" } */
/* Check that naked functions don't place arguments on the stack at
optimisation level '-O0'. */
extern void bar (int);
void __attribute__((naked))
foo (int n, int m)
{
bar (n + m);
}
/* { dg-final { scan-assembler "\tbl @bar" } } */
/* Look for things that would appear in a non-naked function, but which
should not appear in a naked function. */
/* { dg-final { scan-assembler-not "\tj.* \\\[blink\\\]" } } */
/* { dg-final { scan-assembler-not "\tst.* " } } */
/* { dg-final { scan-assembler-not "\tmov fp,sp" } } */