Compiler output: $ gcc testcase.C testcase.C:7:18: error: expected primary-expression before ')' token testcase.C: In function 'void __static_initialization_and_destruction_0(int, int)': testcase.C:8:19: error: Invalid first operand of MEM_REF. <<< error >>> testcase.C:8:18: note: in statement s = MEM[(const struct S &)<<< error >>>];
testcase.C:8:19: error: Invalid address operand in MEM_REF. MEM[(const struct S &)<<< error >>>]; s = MEM[(const struct S &)<<< error >>>]; testcase.C:8:19: internal compiler error: verify_stmts failed Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. ----- testcase.C ----- struct S { S & m (); int *p; }; S foo (int, int =); S s = foo (0).m (); ---------------------- Tested revisions: r163921 - crash r161659 - crash r161170 - OK -- Summary: [4.6 Regression] ICE: verify_stmts failed: Invalid address operand in MEM_REF. on invalid C++ code Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: zsojka at seznam dot cz http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45571