/* { dg-do run { target i?86-*-* x86_64-*-* } } */ | |
/* { dg-require-effective-target cet } */ | |
/* { dg-additional-options "-fcf-protection" } */ | |
#define DEPTH 1000 | |
int | |
x(int a) | |
{ | |
__label__ xlab; | |
void y(int a) | |
{ | |
if (a==0) | |
goto xlab; | |
y (a-1); | |
} | |
y (a); | |
xlab:; | |
return a; | |
} | |
int | |
main () | |
{ | |
if (x (DEPTH) != DEPTH) | |
__builtin_abort (); | |
return 0; | |
} |