/* { 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" } } */