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)8 x(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()23 main ()
24 {
25   if (x (DEPTH) != DEPTH)
26     __builtin_abort ();
27 
28   return 0;
29 }
30