xref: /openbsd-src/gnu/usr.bin/gcc/gcc/testsuite/gcc.c-torture/execute/20020418-1.c (revision c87b03e512fc05ed6e0222f6fb0ae86264b1d05b)
1 /* ifcvt accidently 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