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)11 foo (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