1 /* { dg-do compile } */ 2 /* { dg-options "-O0" } */ 3 /* { dg-additional-options "-mregparm=3" { target ia32 } } */ 4 5 /* Verify that __attribute__((naked)) produces a naked function 6 that does not allocate stack slots for args. */ 7 extern void bar (int); 8 9 int 10 __attribute__((naked)) foo(int a,int b,int c)11foo (int a, int b, int c) 12 { 13 bar (c); 14 asm volatile ("ret" :: "a" (b)); 15 } 16 17 /* { dg-final { scan-assembler-not "%\[re\]bp" } } */ 18