blob: 7a051af811023310ab2fd8bdca9c157ac1b80072 [file] [log] [blame]
/* PR debug/45259 */
/* { dg-do compile } */
/* { dg-options "-g -O2 -w -fpic" { target fpic } } */
/* { dg-options "-g -O2 -w" { target { ! fpic } } } */
/* { dg-require-effective-target indirect_jumps } */
/* { dg-require-effective-target label_values } */
struct S { void (*bar) (long); };
struct T { struct S *t; };
int w;
extern int baz (int);
void
foo (int x, int u, char *z)
{
struct T *v;
static void *y[256] = { &&l1, &&l2 };
for (;;)
switch (x)
{
l2:
x = 9;
case 9:
goto *y[*z++];
case 10:
case 27:
case 54:
case 99:
case 100:
case 120:
case 122:
case 131:
case 132:
case 134:
case 141:
case 142:
v->t->bar (u);
v->t->bar (u);
case 143:
continue;
l1:
default:
baz (w);
}
}