1 2 3 4 5 6 7 8 9 10 11 12 13 14
// { dg-do assemble } struct S1 { template <class T> struct S2; template <class T> struct S2 { enum E { a }; }; }; int i = (int) S1::S2<double>::a;