------- Comment #4 from jakub at gcc dot gnu dot org 2010-05-11 12:48 ------- Created an attachment (id=20628) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20628&action=view) gcc46-pr44062-c++.patch
C++ change that fixes this. It treats all (void) / static_cast <void> conversions and the implicit conversion thereof on lhs of compound expr as when a decl etc. is appearing alone in a statement, with the difference that for say (a, b++, c = d); we don't mark c DECL_READ_P - mark_exp_read normally handles MODIFY_EXPR for cases like z = (c = d); where we want to set DECL_READ_P on c. But in this case of a cast to void/decl/handled component alone in a stmt or comma expression lhs, we want to mark everything but MODIFY_EXPR. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44062