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)11x(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()25main () 26 { 27 if (x (DEPTH) != DEPTH) 28 abort (); 29 30 exit (0); 31 } 32