1 // { dg-do compile { target c++11 } } 2 // { dg-options "" } 3 4 template<typename T> struct S1 5 { 6 enum E1 : int; 7 enum class E2 : T; 8 }; 9 10 template<typename T> enum S1<T>::E1 : int { e1 }; 11 template<typename T> enum class S1<T>::E2 : T { e2 }; 12 13 S1<int>::E1 x1 = S1<int>::e1; 14 S1<int>::E1 x11 = S1<int>::E1::e1; 15 S1<int>::E2 x2 = S1<int>::E2::e2; 16 17 enum S1<int>::E1 ex1 = S1<int>::e1; 18 enum S1<int>::E1 ex11 = S1<int>::E1::e1; 19 enum S1<int>::E2 ex2 = S1<int>::E2::e2; 20