/* { dg-do compile } */
/* { dg-require-effective-target label_values } */

typedef int Embryo_Cell;
int
embryo_program_run(Embryo_Cell *cip)
{
    unsigned char op;
    Embryo_Cell offs;
    static const void *switchtable[256] = {
	&&SWITCHTABLE_EMBRYO_OP_NONE, &&SWITCHTABLE_EMBRYO_OP_LOAD_PRI
    };
    for (;;)
      {
	op = *cip++;
	while (1) {
	    goto *switchtable[op];
SWITCHTABLE_EMBRYO_OP_LOAD_PRI:
	    offs = *(Embryo_Cell *)cip++;
SWITCHTABLE_EMBRYO_OP_NONE:
	    break;
	};
      }
    return offs;
}
