1 /* { dg-do run { target i?86-*-* x86_64-*-* } } */ 2 /* { dg-require-effective-target cet } */ 3 /* { dg-additional-options "-fcf-protection" } */ 4 5 #define DEPTH 1000 6 7 int x(int a)8x(int a) 9 { 10 __label__ xlab; 11 void y(int a) 12 { 13 if (a==0) 14 goto xlab; 15 y (a-1); 16 } 17 y (a); 18 xlab:; 19 return a; 20 } 21 22 int main()23main () 24 { 25 if (x (DEPTH) != DEPTH) 26 __builtin_abort (); 27 28 return 0; 29 } 30