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)6 embryo_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