diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 662fae31cf2..abf4283dc64 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-12-06 Bernd Edlinger + + * expr.c (expand_assignment): Update bitregion_start and + bitregion_end. + 2013-12-06 Eric Botcazou PR target/59316 diff --git a/gcc/expr.c b/gcc/expr.c index 2a13d8f9618..f173d032c21 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; }