1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
/* { dg-options "-funswitch-loops" } */ static float rgam; extern void *jmp(void *); void drotmg(float d1) { void *labels[] = { &&L170, &&L180, 0 }; for(;;) { goto *jmp(labels); if (d1 <= rgam) goto L170; L170: if (d1 <= rgam) goto L170; } L180: goto L170; }