| /* { dg-do compile } */ | |
| /* { dg-options "-O0" } */ | |
| /* Check that function arguments aren't assigned and copied to stack slots | |
| in naked functions. This usually happens at -O0 (presumably for | |
| better debugging), but is highly undesirable if we haven't created | |
| a stack frame. */ | |
| void __attribute__((naked)) | |
| foo(int n) | |
| { | |
| __asm__ volatile ("frob r0\n"); | |
| } | |
| /* { dg-final { scan-assembler "\tfrob r0" } } */ | |
| /* { dg-final { scan-assembler-not "\tstr" } } */ |