Compiling and running the attached code produces: ~/ootbc/common/test$ build/wideIntTest 0x0000000012345678:0x8000000000000000:0x0000000001234567:0x8000000001234567:0x80000000bffffc50
The first four hex outputs shows the expression done one subexpression at a time, and produces the correct result. The last hex shows the expression result as a single expression, and the result is wrong and the values contains what looks like an address. I guess that a temporary in the expression evaluation got overwritten. Ivan -- Summary: lost temporary Product: gcc Version: 4.0.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: igodard at pacbell dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26669