1 /* ifcvt accidentally deletes a referenced label while generating
2    conditional traps on machines having such patterns */
3 
4 struct foo { int a; };
5 
gcc_crash(struct foo * p)6 void gcc_crash(struct foo *p)
7 {
8 	if (__builtin_expect(p->a < 52, 0))
9 		__builtin_trap();
10  top:
11 	p->a++;
12 	if (p->a >= 62)
13 		goto top;
14 }
15 
main(void)16 int main(void)
17 {
18 	struct foo x;
19 
20 	x.a = 53;
21 	gcc_crash(&x);
22 
23 	exit (0);
24 }
25