diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cfgexpand.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 85f0e67..314f5f6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2016-05-09 Richard Sandiford <richard.sandiford@arm.com> + * cfgexpand.c (expand_debug_expr): Fix address offset for negative + bitpos. + +2016-05-09 Richard Sandiford <richard.sandiford@arm.com> + * tree-affine.c (wide_int_constant_multiple_p): Add missing pointer dereference. diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index 21f21c9..77a1964 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -4473,7 +4473,7 @@ expand_debug_expr (tree exp) { HOST_WIDE_INT units = (-bitpos + BITS_PER_UNIT - 1) / BITS_PER_UNIT; - op0 = adjust_address_nv (op0, mode1, units); + op0 = adjust_address_nv (op0, mode1, -units); bitpos += units * BITS_PER_UNIT; } else if (bitpos == 0 && bitsize == GET_MODE_BITSIZE (mode)) |