diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 662fae31cf20f29e6daa64067344660f6a94ca51..abf4283dc645b04df2da306512e04597e68c1144 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-12-06 Bernd Edlinger <bernd.edlinger@hotmail.de> + + * expr.c (expand_assignment): Update bitregion_start and + bitregion_end. + 2013-12-06 Eric Botcazou <ebotcazou@adacore.com> PR target/59316 diff --git a/gcc/expr.c b/gcc/expr.c index 2a13d8f961865e8053788fbf25f11a499ef6c55f..f173d032c21ef28125de41bfd1e53e98c5dc4399 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -4880,6 +4880,9 @@ expand_assignment (tree to, tree from, bool nontemporal) && MEM_ALIGN (to_rtx) == GET_MODE_ALIGNMENT (mode1)) { to_rtx = adjust_address (to_rtx, mode1, bitpos / BITS_PER_UNIT); + bitregion_start = 0; + if (bitregion_end >= (unsigned HOST_WIDE_INT) bitpos) + bitregion_end -= bitpos; bitpos = 0; }