1  /* { dg-require-effective-target label_values } */
       2  
       3  int expect_do1 = 1, expect_do2 = 2;
       4   
       5  static int doit(int x){
       6    __label__ lbl1;
       7    __label__ lbl2;
       8    static int jtab_init = 0;
       9    static void *jtab[2];
      10   
      11    if(!jtab_init) {
      12      jtab[0] = &&lbl1;
      13      jtab[1] = &&lbl2;
      14      jtab_init = 1;
      15    }
      16    goto *jtab[x];
      17  lbl1:
      18    return 1;
      19  lbl2:
      20    return 2;
      21  }
      22   
      23  static void do1(void) {
      24    if (doit(0) != expect_do1)
      25      abort ();
      26  }
      27   
      28  static void do2(void){
      29    if (doit(1) != expect_do2)
      30      abort ();
      31  }
      32   
      33  int main(void){
      34    exit(0);
      35  }