OSDN Git Service

PR c++/18698
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / parse / parse5.C
1 /* PR c++/590 */
2 /* { dg-do compile } */
3
4 #include <iostream>
5 #include <sstream>
6 using namespace std;
7
8 enum ExternalEnum { EXTERNAL_VALUE = 2 };
9
10 class BadStream : public ostringstream 
11 {    
12 public: 
13   enum InternalEnum { VALUE = 0 };   
14   BadStream( InternalEnum e ) {};
15   BadStream( InternalEnum e, int i ) {};
16 };
17
18 int main() 
19 {
20   ( BadStream( BadStream::VALUE ) ) << "foobar" << endl;
21
22   BadStream((BadStream::InternalEnum)BadStream::VALUE ) << "foobar";
23
24   BadStream::InternalEnum in = BadStream::VALUE;
25   BadStream( in ) << "foobar";
26     
27   BadStream( BadStream::VALUE, 0 ) << "foobar" << endl;
28     
29   // This didn't used to compile:
30   BadStream( BadStream::VALUE ) << "foobar" << endl;
31
32   return 0;
33 }