OSDN Git Service

PR c++/53816
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / template / access19.C
1 /* PR c++/29475 The error diagnostic contained "U = U" instead of "U = char" */\r
2 /* { dg-do compile } */\r
3 \r
4 template< class T >\r
5 class explicit_t\r
6 {\r
7 public:\r
8         explicit_t( const T& c ): value( c ) { }\r
9         operator T&() { return value; }\r
10 private:\r
11         template< class U >\r
12         explicit_t( U t ); /* { dg-error "with U = char, T = int|is private" } */\r
13         T value;\r
14 };\r
15 \r
16 int foo( int x, explicit_t< int > y )\r
17 {\r
18         return x + y;\r
19 }\r
20 \r
21 int main()\r
22 {\r
23         return foo( 5, 'c' ); /* { dg-error "this context" } */\r
24 }\r