Reverting merge from trunk
[official-gcc.git] / gcc / testsuite / g++.dg / ext / underlying_type1.C
bloba8f68d3d60a8d3df0f7f15fbc2475bebd8fd4897
1 // { dg-do compile }
3 struct B { };
4 union U { };
6 template<typename T>
7   struct underlying_type
8   { typedef __underlying_type(T) type; }; // { dg-error "not an enumeration" }
10 __underlying_type(int) i1; // { dg-error "not an enumeration|invalid" }
11 __underlying_type(A)   i2; // { dg-error "expected" }
12 __underlying_type(B)   i3; // { dg-error "not an enumeration|invalid" }
13 __underlying_type(U)   i4; // { dg-error "not an enumeration|invalid" }
15 underlying_type<int>::type i5;
16 underlying_type<A>::type   i6; // { dg-error "not declared|template|expected" }
17 underlying_type<B>::type   i7;
18 underlying_type<U>::type   i8;