------- Comment #5 from janis at gcc dot gnu dot org 2008-09-19 18:24 ------- The operand of a postincrement and friends must be a modifiable lvalue. The type check code for both C and C++ calls get_unwidened, which removes the cast when it's a different size but leaves the cast when it's the same size. The later call to lvalue_p (via lvalue_or_else) says the operand is not an lvalue when there's still a cast, but doesn't complain when the cast has been removed.
-- janis at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mmitchel at gcc dot gnu dot | |org, jsm28 at gcc dot gnu | |dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37561