On Wed, May 30, 2012 at 7:14 PM, Eric Botcazou <ebotca...@adacore.com> wrote:
> Hi,
>
> we're having issues with get_ref_base_and_extent overflowing the offset and
> thus returning bogus big negative values on 32-bit hosts.  The attached patch
> converts it to double ints like get_inner_reference.  It also contains a small
> fix for build_user_friendly_ref_for_offset that can stop if a field has again
> too big an offset.
>
> Tested on x86_64-suse-linux and i586-suse-linux, OK for mainline?

Heh, I think I have a similar patch for the get_ref_base_and_extent issue
in my dev tree for almost three years ...

Ok!

Thanks,
Richard.

>
> 2012-05-30  Eric Botcazou  <ebotca...@adacore.com>
>
>        * tree-dfa.c (get_ref_base_and_extent): Compute the offset using
>        double ints throughout.
>        * tree-sra.c (build_user_friendly_ref_for_offset) <RECORD_TYPE>:
>        Check that the position of the field is representable as an integer.
>
>
> --
> Eric Botcazou

Reply via email to