aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-dfa.h
diff options
context:
space:
mode:
authorRichard Sandiford <r.sandiford@uk.ibm.com>2014-05-13 13:51:20 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2014-05-13 13:51:20 +0000
commit460d1e22353835f4cf8749aedd07387185146eb6 (patch)
tree0847c4ecc1245bc64f72826d0d4d5e887cefd641 /gcc/tree-dfa.h
parent1e1f96b5f65f58bdb8dbbc697ac0b27f1894cbcf (diff)
downloadgcc-460d1e22353835f4cf8749aedd07387185146eb6.zip
gcc-460d1e22353835f4cf8749aedd07387185146eb6.tar.gz
gcc-460d1e22353835f4cf8749aedd07387185146eb6.tar.bz2
tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index calculation to match get_ref_base_and_extent.
gcc/ * tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index calculation to match get_ref_base_and_extent. From-SVN: r210377
Diffstat (limited to 'gcc/tree-dfa.h')
-rw-r--r--gcc/tree-dfa.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-dfa.h b/gcc/tree-dfa.h
index 7b076c7..fe13587 100644
--- a/gcc/tree-dfa.h
+++ b/gcc/tree-dfa.h
@@ -103,7 +103,8 @@ get_addr_base_and_unit_offset_1 (tree exp, HOST_WIDE_INT *poffset,
TREE_CODE (unit_size) == INTEGER_CST))
{
offset_int woffset
- = offset_int::from (wi::sub (index, low_bound), SIGNED);
+ = wi::sext (wi::to_offset (index) - wi::to_offset (low_bound),
+ TYPE_PRECISION (TREE_TYPE (index)));
woffset *= wi::to_offset (unit_size);
byte_offset += woffset.to_shwi ();
}