(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
920501-3.c
       1  /* { dg-require-effective-target label_values } */
       2  
       3  int tab[9];
       4  execute(oip, ip)
       5       unsigned short *oip, *ip;
       6  {
       7    int x = 0;
       8    int *xp = tab;
       9  base:
      10    x++;
      11    if (x == 4)
      12      {
      13        *xp = 0;
      14        return;
      15      }
      16    *xp++ = ip - oip;
      17    goto *(&&base + *ip++);
      18  }
      19  
      20  main()
      21  {
      22    unsigned short ip[10];
      23    int i;
      24    for (i = 0; i < 10; i++)
      25      ip[i] = 0;
      26    execute(ip, ip);
      27    if (tab[0] != 0 || tab[1] != 1 || tab[2] != 2 || tab[3] != 0)
      28      abort();
      29    exit(0);
      30  }