libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / stackalign / non-local-goto-4.c
blob922c6b396df5246a191f754dca81027a1da92b70
1 /* { dg-do run } */
2 /* { dg-require-effective-target nonlocal_goto } */
3 /* { dg-require-effective-target label_values } */
4 /* { dg-require-effective-target trampolines } */
5 /* { dg-add-options stack_size } */
7 extern void abort (void);
8 extern void exit (int);
10 #ifdef STACK_SIZE
11 #define DEPTH ((STACK_SIZE) / 512 + 1)
12 #else
13 #define DEPTH 1000
14 #endif
16 int
17 x(int a)
19 __label__ xlab;
20 void y(int a)
22 if (a==0)
23 goto xlab;
24 y (a-1);
26 y (a);
27 xlab:;
28 return a;
31 int
32 main ()
34 if (x (DEPTH) != DEPTH)
35 abort ();
37 exit (0);