diff options
author | Richard Biener <rguenther@suse.de> | 2012-11-28 09:27:10 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2012-11-28 09:27:10 +0000 |
commit | cc3c4f62f32c2945e5bbd85c084dae1f7046280b (patch) | |
tree | 708df4dc743c4f6d7778396707a8a1254049b1dd /gcc/ada/gcc-interface/misc.c | |
parent | b1c2b51b6662adebbc37c6590d697e9fe3439076 (diff) | |
download | gcc-cc3c4f62f32c2945e5bbd85c084dae1f7046280b.zip gcc-cc3c4f62f32c2945e5bbd85c084dae1f7046280b.tar.gz gcc-cc3c4f62f32c2945e5bbd85c084dae1f7046280b.tar.bz2 |
re PR c/35634 (operand of pre-/postin-/decrement not promoted)
2012-11-28 Richard Biener <rguenther@suse.de>
PR c/35634
* gimple.h (gimplify_self_mod_expr): Declare.
* gimplify.c (gimplify_self_mod_expr): Export. Take a different
type for performing the arithmetic in.
(gimplify_expr): Adjust.
* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Strip
sign conversions we can re-apply after adjusting the IV.
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.
* gcc.dg/torture/pr35634.c: New testcase.
* g++.dg/torture/pr35634.C: Likewise.
* gcc.dg/vect/pr18536.c: Mark worker function noinline.
From-SVN: r193882
Diffstat (limited to 'gcc/ada/gcc-interface/misc.c')
0 files changed, 0 insertions, 0 deletions