/* ifcvt accidentally deletes a referenced label while generating | |
conditional traps on machines having such patterns */ | |
struct foo { int a; }; | |
void gcc_crash(struct foo *p) | |
{ | |
if (__builtin_expect(p->a < 52, 0)) | |
__builtin_trap(); | |
top: | |
p->a++; | |
if (p->a >= 62) | |
goto top; | |
} | |
int main(void) | |
{ | |
struct foo x; | |
x.a = 53; | |
gcc_crash(&x); | |
exit (0); | |
} |