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 template<> enum S1<int>::E1 : int { i1 };
14 template<> enum class S1<int>::E2 : int { i2 };
15 
16 S1<char>::E1 xci = S1<char>::e1;
17 S1<int>::E1 xi1 = S1<int>::i1;
18 
19 S1<char>::E2 xc2 = S1<char>::E2::e2;
20 S1<int>::E2 xi2 = S1<int>::E2::i2;
21 
22