* decl.c (make_typename_type): s/parameters/arguments/.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / forw_enum10.C
blob3c4c3de6d6615746e89b31586930f3a351e4c7f9
1 // { dg-do compile { target c++11 } }
3 //This error is diagnosed at instantiation time
4 template<typename T> struct S1
6     enum E : T;   // { dg-message "previous definition" }
7     enum E : int;     // { dg-error "different underlying type" }
8 };
9 template struct S1<short>; // { dg-message "required from here" }
11 template<typename T> struct S2
13     enum E : T;
14     enum E : T;
16 template struct S2<short>;
18 template<typename T1, typename T2> struct S3
20     enum E : T1;
21     enum E : T2;
23 template struct S3<short,short>;
25 template<typename T1, typename T2> struct S4
27     enum E : T1; // { dg-message "previous definition" }
28     enum E : T2; // { dg-error "different underlying type" }
30 template struct S4<short,char>; // { dg-message "required from here" }