PR c++/85765 - SFINAE and non-type default template arg.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / forw_enum7.C
blob3c67f547057c06d5c3923f157ab7c5b8edcd4cc9
1 // { dg-do compile { target c++11 } }
2 // { dg-options "" }
4 template<typename T> struct S1
6     enum E1 : int;
7     enum E1 : T;
8     enum class E2 : int;
9     enum class E2 : T;
12 template<typename T> enum S1<T>::E1 : int { e1 };
13 template<typename T> enum class S1<T>::E2 : T { e2 };
15 S1<int>::E1 x1 = S1<int>::e1;
16 S1<int>::E1 x11 = S1<int>::E1::e1;
17 S1<int>::E2 x2 = S1<int>::E2::e2;
19 enum S1<int>::E1 ex1 = S1<int>::e1;
20 enum S1<int>::E1 ex11 = S1<int>::E1::e1;
21 enum S1<int>::E2 ex2 = S1<int>::E2::e2;