On Tue, 27 Nov 2012, Richard Biener wrote: > c-family/ > * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions > here and use a type with proper overflow behavior for types that would > need to be promoted for the arithmetic.
The front-end changes are OK. > *** gcc/gimplify.c.orig 2012-11-27 14:27:24.000000000 +0100 > --- gcc/gimplify.c 2012-11-27 15:49:46.425585857 +0100 > *************** gimplify_compound_lval (tree *expr_p, gi > *** 2319,2327 **** > WANT_VALUE is nonzero iff we want to use the value of this expression > in another expression. */ > > ! static enum gimplify_status > gimplify_self_mod_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p, > ! bool want_value) > { > enum tree_code code; > tree lhs, lvalue, rhs, t1; > --- 2319,2327 ---- > WANT_VALUE is nonzero iff we want to use the value of this expression > in another expression. */ > > ! enum gimplify_status > gimplify_self_mod_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p, > ! bool want_value, tree arith_type) The comment needs updating to explain the new parameter. -- Joseph S. Myers jos...@codesourcery.com