libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / stackalign / comp-goto-1.c
blobf4ff831b40fb32ddc33a09ba61165de76148a6f7
1 /* { dg-do run } */
2 /* { dg-require-effective-target label_values } */
3 /* { dg-require-effective-target trampolines } */
4 /* { dg-add-options stack_size } */
6 #ifdef STACK_SIZE
7 #define DEPTH ((STACK_SIZE) / 512 + 1)
8 #else
9 #define DEPTH 1000
10 #endif
12 extern void abort (void);
13 extern void exit (int);
15 int
16 x(int a)
18 __label__ xlab;
19 void y(int a)
21 void *x = &&llab;
22 if (a==-1)
23 goto *x;
24 if (a==0)
25 goto xlab;
26 llab:
27 y (a-1);
29 y (a);
30 xlab:;
31 return a;
34 int
35 main ()
37 if (x (DEPTH) != DEPTH)
38 abort ();
40 exit (0);