// PR target/60648 // { dg-do compile } // { dg-additional-options "-fPIC" { target fpic } } enum component { Ex, Ez, Hy, Permeability }; enum derived_component {}; enum direction { X, Y, Z, R, P, NO_DIRECTION }; derived_component a; component *b; component c; direction d; inline direction fn1 (component p1) { switch (p1) { case 0: return Y; case 1: return Z; case Permeability: return NO_DIRECTION; } return X; } inline component fn2 (direction p1) { switch (p1) { case 0: case 1: return component (); case Z: case R: return component (1); case P: return component (3); } } void fn3 () { direction e; switch (0) case 0: switch (a) { case 0: c = Ex; b[1] = Hy; } e = fn1 (b[1]); b[1] = fn2 (e); d = fn1 (c); }