------- Comment #4 from pinskia at gcc dot gnu dot org 2007-11-25 03:10 ------- Confirmed, and here is a patch which really fixes the issue: Index: ../../gcc/cp/cvt.c =================================================================== --- ../../gcc/cp/cvt.c (revision 130402) +++ ../../gcc/cp/cvt.c (working copy) @@ -941,7 +941,8 @@ convert_to_void (tree expr, const char * conversions. Do not use STRIP_NOPs because it will not strip conversions to "void", as that is not a mode-preserving conversion. */ - while (TREE_CODE (e) == NOP_EXPR) + while (TREE_CODE (e) == NOP_EXPR + || TREE_CODE (e) == NON_LVALUE_EXPR) e = TREE_OPERAND (e, 0);
code = TREE_CODE (e); -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords| |diagnostic Known to fail| |4.0.0 4.0.4 4.1.2 4.2.0 | |4.3.0 Last reconfirmed|0000-00-00 00:00:00 |2007-11-25 03:10:52 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34212