modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/pr25224.c (about)

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