/* { dg-do run { target powerpc*-*-linux* powerpc*-*-eabi* powerpc-*-rtems* } } */ /* { dg-options {} } */ /* Test stack pointer alignment against variable alloca. */ /* Inspired by PR libgcj/10610. */ /* Origin: Franz Sirl . */ extern void abort (void); extern void exit (int); register unsigned long sp __asm__ ("r1"); void g (int * val __attribute__ ((unused))) { if (sp & 0xf) abort (); } void f (int val) { int *val1 = __builtin_alloca (val); g (val1); return; } int main (void) { int i; for (i = 1; i < 32; i++) f (i); exit (0); }