1  /* ifcvt accidentally deletes a referenced label while generating
       2     conditional traps on machines having such patterns */
       3  
       4  struct foo { int a; };
       5  
       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  
      16  int main(void)
      17  {
      18  	struct foo x;
      19  
      20  	x.a = 53;
      21  	gcc_crash(&x);
      22  
      23  	exit (0);
      24  }