1 /* { dg-require-effective-target label_values } */
2 /* { dg-require-effective-target trampolines } */
3 /* { dg-add-options stack_size } */
4 
5 #ifdef STACK_SIZE
6 #define DEPTH ((STACK_SIZE) / 512 + 1)
7 #else
8 #define DEPTH 1000
9 #endif
10 
x(a)11 x(a)
12 {
13   __label__ xlab;
14   void y(a)
15     {
16       if (a==0)
17 	goto xlab;
18       y (a-1);
19     }
20   y (a);
21  xlab:;
22   return a;
23 }
24 
main()25 main ()
26 {
27   if (x (DEPTH) != DEPTH)
28     abort ();
29 
30   exit (0);
31 }
32