// { dg-do run } // GROUPS passed copy-ctors #include // 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; } }