1/* This testcase failed on IA-32 at -O and above, because combine attached
2   a REG_LABEL note to jump instruction already using JUMP_LABEL.  */
3
4extern void abort (void);
5extern void exit (int);
6
7enum X { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q };
8
9void
10bar (const char *x, int y, const char *z)
11{
12}
13
14long
15foo (enum X x, const void *y)
16{
17  long a;
18
19  switch (x)
20    {
21    case K:
22      a = *(long *)y;
23      break;
24    case L:
25      a = *(long *)y;
26      break;
27    case M:
28      a = *(long *)y;
29      break;
30    case N:
31      a = *(long *)y;
32      break;
33    case O:
34      a = *(long *)y;
35      break;
36    default:
37      bar ("foo", 1, "bar");
38    }
39  return a;
40}
41
42int
43main ()
44{
45  long i = 24;
46  if (foo (N, &i) != 24)
47    abort ();
48  exit (0);
49}
50