------- Comment #2 from pinskia at gcc dot gnu dot org 2006-09-09 19:10 ------- I think the problem is that i++ is being replaced with "i = 1" and (i = 1) = 2; turns out to be legal C++.
If we add to boolean_increment to build a NON_LVALUE_EXPR, we will get an error at least I hope. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28989