diff options
author | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-01-01 15:43:19 +0000 |
---|---|---|
committer | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-01-01 15:43:19 +0000 |
commit | ddc1125e3e0cc8e76af1dc78e3c7e9df0cef4dfc (patch) | |
tree | d1062bcb3fbb2f7c7d94e368f510731f01b59846 /gcc | |
parent | eb35baa2b2034f095ae2262043c8bd274c27637e (diff) | |
download | gcc-ddc1125e3e0cc8e76af1dc78e3c7e9df0cef4dfc.tar.gz |
* g++.dg/parse/parse5.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60750 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/parse/parse5.C | 33 |
2 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7bbfb29950a..2a9f3f78c6f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2003-01-01 Neil Booth <neil@daikokuya.co.uk> + + * g++.dg/parse/parse5.C: New test. + 2003-01-01 Nathanael Nerode <neroden@gcc.gnu.org> * g++.dg/parse/parens1.C: New test. diff --git a/gcc/testsuite/g++.dg/parse/parse5.C b/gcc/testsuite/g++.dg/parse/parse5.C new file mode 100644 index 00000000000..d3e015a9a3c --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/parse5.C @@ -0,0 +1,33 @@ +/* PR c++/590 */ +/* { dg-do compile } */ + +#include <iostream> +#include <sstream> +using namespace std; + +enum ExternalEnum { EXTERNAL_VALUE = 2 }; + +class BadStream : public ostringstream +{ +public: + enum InternalEnum { VALUE = 0 }; + BadStream( InternalEnum e ) {}; + BadStream( InternalEnum e, int i ) {}; +}; + +int main() +{ + ( BadStream( BadStream::VALUE ) ) << "foobar" << endl; + + BadStream((BadStream::InternalEnum)BadStream::VALUE ) << "foobar"; + + BadStream::InternalEnum in = BadStream::VALUE; + BadStream( in ) << "foobar"; + + BadStream( BadStream::VALUE, 0 ) << "foobar" << endl; + + // This didn't used to compile: + BadStream( BadStream::VALUE ) << "foobar" << endl; + + return 0; +} |