diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.brendan/copy9.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.brendan/copy9.C | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/copy9.C b/gcc/testsuite/g++.old-deja/g++.brendan/copy9.C new file mode 100644 index 000000000..f05b1943a --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.brendan/copy9.C @@ -0,0 +1,46 @@ +// { dg-do run } +// GROUPS passed copy-ctors +#include <iostream> + +// token types: from state parser +const int T_EOF = 257; +const int T_ERROR = 258; +const int T_Float = 259; +const int T_Int = 260; +const int T_ID = 261; +const int T_STRING = 262; + +class Complex; +class State; + +// token, from state parser. +class ParseToken { +public: + int tok; + union { + char cval; + const char *sval; + int intval; + double doubleval; + Complex* Complexval; + const State* s; + }; + ParseToken () { tok = 0; intval = 0;} +}; + +int +main () { + ParseToken a; + a.tok = T_Float; + a.doubleval = 23.2; + ParseToken b(a); + + if (b.doubleval == 23.2) + std::cout << "PASS\n"; + else + { + std::cout << "FAIL\n"; + return 1; + } +} + |