1 /* { dg-do compile } */ 2 /* { dg-require-effective-target label_values } */ 3 4 typedef int Embryo_Cell; 5 int embryo_program_run(Embryo_Cell * cip)6embryo_program_run(Embryo_Cell *cip) 7 { 8 unsigned char op; 9 Embryo_Cell offs; 10 static const void *switchtable[256] = { 11 &&SWITCHTABLE_EMBRYO_OP_NONE, &&SWITCHTABLE_EMBRYO_OP_LOAD_PRI 12 }; 13 for (;;) 14 { 15 op = *cip++; 16 while (1) { 17 goto *switchtable[op]; 18 SWITCHTABLE_EMBRYO_OP_LOAD_PRI: 19 offs = *(Embryo_Cell *)cip++; 20 SWITCHTABLE_EMBRYO_OP_NONE: 21 break; 22 }; 23 } 24 return offs; 25 } 26