1 /* A slight variation of 920501-7.c. */ 2 3 #ifdef STACK_SIZE 4 #define DEPTH ((STACK_SIZE) / 512 + 1) 5 #else 6 #define DEPTH 1000 7 #endif 8 9 #if ! defined (NO_LABEL_VALUES) && !defined (NO_TRAMPOLINES) x(a)10x(a) 11 { 12 __label__ xlab; 13 void y(a) 14 { 15 void *x = &&llab; 16 if (a==-1) 17 goto *x; 18 if (a==0) 19 goto xlab; 20 llab: 21 y (a-1); 22 } 23 y (a); 24 xlab:; 25 return a; 26 } 27 #endif 28 main()29main () 30 { 31 #if ! defined (NO_LABEL_VALUES) && !defined (NO_TRAMPOLINES) 32 if (x (DEPTH) != DEPTH) 33 abort (); 34 #endif 35 exit (0); 36 } 37