PR ipa/61602
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / stackalign / alloca-4.c
blobbc16f5789035cc3d83cdb56f232bf9e0bd36d0fb
1 /* PR middle-end/37009 */
2 /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
3 /* { dg-additional-options "-mincoming-stack-boundary=2 -mpreferred-stack-boundary=2" } */
5 #include "check.h"
7 void
8 bar (char *p, int size)
10 __builtin_strncpy (p, "good", size);
13 void
14 __attribute__ ((noinline))
15 foo (double x, double y ,double z ,double a, int size)
17 char *p = __builtin_alloca (size + 1);
18 double i;
20 bar (p, size);
21 if (__builtin_strncmp (p, "good", size) != 0)
23 #ifdef DEBUG
24 p[size] = '\0';
25 printf ("Failed: %s != good\n", p);
26 #endif
27 abort ();
30 check (&i, __alignof__(i));
33 int
34 main (void)
36 double x = 1.0 ;
38 foo (x, x, x, x, 5);
40 return 0;