1 /* { dg-require-effective-target label_values } */
2 
3 int tab[9];
execute(oip,ip)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 
main()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 }
31