blob: b257dbf2cd540c0921edaefc49e5f56b2d0ec964 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/* { dg-do compile } */
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;
}
|