/* Verify that __attribute__((naked)) produces a naked function that does not use bx to return. Naked functions could be used to implement interrupt routines and must not return using bx. */ /* { dg-do compile } */ /* { dg-options "-O0" } */ /* Use more arguments than we have argument registers. */ int __attribute__((naked)) foo(int a, int b, int c, int d, int e, int f) { __asm__ volatile ("@ naked"); } /* { dg-final { scan-assembler "\t@ naked" } } */ /* { dg-final { scan-assembler-not "\tbx\tlr" } } */