tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index calculation to match...
authorRichard Sandiford <r.sandiford@uk.ibm.com>
Tue, 13 May 2014 13:51:20 +0000 (13:51 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 13 May 2014 13:51:20 +0000 (13:51 +0000)
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

gcc/ChangeLog
gcc/tree-dfa.h

index f848172..972a783 100644 (file)
@@ -1,3 +1,8 @@
+2014-05-13  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+       * tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
+       calculation to match get_ref_base_and_extent.
+
 2014-05-13  Catherine Moore  <clm@codesourcery.com>
            Sandra Loosemore  <sandra@codesourcery.com>
 
index 7b076c7..fe13587 100644 (file)
@@ -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 ();
              }