gcc/
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 May 2014 13:51:20 +0000 (13:51 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 May 2014 13:51:20 +0000 (13:51 +0000)
* tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
calculation to match get_ref_base_and_extent.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210377 138bc75d-0d04-0410-961f-82ee72b054a4

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 ();
              }