1/* Test that stack alignment is preserved with pending_stack_adjust 2 with stdcall functions. */ 3 4/* { dg-do run } */ 5/* { dg-require-effective-target ilp32 } */ 6/* { dg-options -mpreferred-stack-boundary=4 } */ 7 8void __attribute__((stdcall)) foo(int a, int b, int c); 9 10extern void abort (void); 11extern void exit (int); 12 13int 14main () 15{ 16 foo(1, 2, 3); 17 foo(1, 2, 3); 18 exit (0); 19} 20 21void __attribute__((stdcall)) 22foo(int a, int b, int c) 23{ 24 static int last_align = -1; 25 int dummy, align = (int)&dummy & 15; 26 if (last_align < 0) 27 last_align = align; 28 else if (align != last_align) 29 abort (); 30} 31