1  /* { dg-require-effective-target label_values } */
       2  int code[]={0,0,0,0,1};
       3  
       4  void foo(int x) {
       5    volatile int b;
       6    b = 0xffffffff;
       7  }
       8  
       9  void bar(int *pc) {
      10    static const void *l[] = {&&lab0, &&end};
      11  
      12    foo(0);
      13    goto *l[*pc];
      14   lab0:
      15    foo(0);
      16    pc++;
      17    goto *l[*pc];
      18   end:
      19    return;
      20  }
      21  
      22  int main() {
      23    bar(code);
      24    return 0;
      25  }