1// PR target/60648
2// { dg-do compile }
3// { dg-additional-options "-fPIC" { target fpic } }
4
5enum component
6{
7  Ex,
8  Ez,
9  Hy,
10  Permeability
11};
12enum derived_component
13{};
14enum direction
15{
16  X,
17  Y,
18  Z,
19  R,
20  P,
21  NO_DIRECTION
22};
23derived_component a;
24component *b;
25component c;
26direction d;
27inline direction fn1 (component p1)
28{
29  switch (p1)
30    {
31    case 0:
32      return Y;
33    case 1:
34      return Z;
35    case Permeability:
36      return NO_DIRECTION;
37    }
38  return X;
39}
40
41inline component fn2 (direction p1)
42{
43  switch (p1)
44    {
45    case 0:
46    case 1:
47      return component ();
48    case Z:
49    case R:
50      return component (1);
51    case P:
52      return component (3);
53    }
54}
55
56void fn3 ()
57{
58  direction e;
59  switch (0)
60  case 0:
61  switch (a)
62    {
63    case 0:
64      c = Ex;
65      b[1] = Hy;
66    }
67  e = fn1 (b[1]);
68  b[1] = fn2 (e);
69  d = fn1 (c);
70}
71