PR ipa/61602
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / stackalign / comp-goto-1.c
blobcf163722de8900e16a2665fb5f2fbfbab64328c3
1 /* { dg-do run } */
3 #ifdef STACK_SIZE
4 #define DEPTH ((STACK_SIZE) / 512 + 1)
5 #else
6 #define DEPTH 1000
7 #endif
9 extern void abort (void);
10 extern void exit (int);
12 #if ! defined (NO_LABEL_VALUES) && !defined (NO_TRAMPOLINES)
13 int
14 x(int a)
16 __label__ xlab;
17 void y(int a)
19 void *x = &&llab;
20 if (a==-1)
21 goto *x;
22 if (a==0)
23 goto xlab;
24 llab:
25 y (a-1);
27 y (a);
28 xlab:;
29 return a;
31 #endif
33 int
34 main ()
36 #if ! defined (NO_LABEL_VALUES) && !defined (NO_TRAMPOLINES)
37 if (x (DEPTH) != DEPTH)
38 abort ();
39 #endif
40 exit (0);