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