/* { dg-do compile } */ /* { dg-require-effective-target naked_functions } */ /* { dg-options "-O2 -Wall" } */ extern void bar(); void __attribute__((__naked__)) foo(void) { bar (); } int __attribute__((naked)) zoo (int a, int b, int c, int d, int e, int f) { bar (); return e; } /* Verify that __attribute__((naked)) produces a naked function that does not use bx to return. */ /* { dg-final { scan-assembler-not "\tbx\tlr" } } */