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
[email protected]