1int tab[9];
2execute(oip, ip)
3     unsigned short *oip, *ip;
4{
5#ifndef NO_LABEL_VALUES
6  int x = 0;
7  int *xp = tab;
8base:
9  x++;
10  if (x == 4)
11    {
12      *xp = 0;
13      return;
14    }
15  *xp++ = ip - oip;
16  goto *(&&base + *ip++);
17#else
18  tab[0] = 0;
19  tab[1] = 1;
20  tab[2] = 2;
21  tab[3] = 0;
22#endif
23}
24
25main()
26{
27  unsigned short ip[10];
28  int i;
29  for (i = 0; i < 10; i++)
30    ip[i] = 0;
31  execute(ip, ip);
32  if (tab[0] != 0 || tab[1] != 1 || tab[2] != 2 || tab[3] != 0)
33    abort();
34  exit(0);
35}
36