1/* { dg-do run { target powerpc*-*-linux* powerpc*-*-eabi* } } */ 2/* { dg-options {} } */ 3 4/* Test stack pointer alignment against variable alloca. */ 5/* Inspired by PR libgcj/10610. */ 6/* Origin: Franz Sirl <Franz.Sirl-kernel@lauterbach.com>. */ 7 8extern void abort (void); 9extern void exit (int); 10 11register unsigned long sp __asm__ ("r1"); 12 13void g (int * val __attribute__ ((unused))) 14{ 15 if (sp & 0xf) 16 abort (); 17} 18 19void f (int val) 20{ 21 int *val1 = __builtin_alloca (val); 22 23 g (val1); 24 return; 25} 26 27int main (void) 28{ 29 int i; 30 31 for (i = 1; i < 32; i++) 32 f (i); 33 34 exit (0); 35} 36