Merge from mainline (gomp-merge-2005-02-26).
[official-gcc.git] / gcc / testsuite / gcc.dg / ppc-stackalign-1.c
blobe73e895706e450d3adcd57b0fc81948afbc682ea
1 /* { dg-do run { target powerpc-*-linux* powerpc-*-sysv* } } */
2 /* { dg-options {} } */
4 /* Test stack pointer alignment against variable alloca. */
5 /* Inspired by PR libgcj/10610. */
6 /* Origin: Franz Sirl <Franz.Sirl-kernel@lauterbach.com>. */
8 extern void abort (void);
9 extern void exit (int);
11 register unsigned long sp __asm__ ("r1");
13 void g (int * val __attribute__ ((unused)))
15 if (sp & 0xf)
16 abort ();
19 void f (int val)
21 int *val1 = __builtin_alloca (val);
23 g (val1);
24 return;
27 int main (void)
29 int i;
31 for (i = 1; i < 32; i++)
32 f (i);
34 exit (0);