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