On 10/23/2017 11:08 AM, Richard Sandiford wrote:
> This patch changes C++ bitregion_start/end values from constants to
> poly_ints.  Although it's unlikely that the size needs to be polynomial
> in practice, the offset could be with future language extensions.
> 
> 
> 2017-10-23  Richard Sandiford  <richard.sandif...@linaro.org>
>           Alan Hayward  <alan.hayw...@arm.com>
>           David Sherwood  <david.sherw...@arm.com>
> 
> gcc/
>       * expmed.h (store_bit_field): Change bitregion_start and
>       bitregion_end from unsigned HOST_WIDE_INT to poly_uint64.
>       * expmed.c (adjust_bit_field_mem_for_reg, strict_volatile_bitfield_p)
>       (store_bit_field_1, store_integral_bit_field, store_bit_field)
>       (store_fixed_bit_field, store_split_bit_field): Likewise.
>       * expr.c (store_constructor_field, store_field): Likewise.
>       (optimize_bitfield_assignment_op): Likewise.  Make the same change
>       to bitsize and bitpos.
>       * machmode.h (bit_field_mode_iterator): Change m_bitregion_start
>       and m_bitregion_end from HOST_WIDE_INT to poly_int64.  Make the
>       same change in the constructor arguments.
>       (get_best_mode): Change bitregion_start and bitregion_end from
>       unsigned HOST_WIDE_INT to poly_uint64.
>       * stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
>       Change bitregion_start and bitregion_end from HOST_WIDE_INT to
>       poly_int64.
>       (bit_field_mode_iterator::next_mode): Update for new types
>       of m_bitregion_start and m_bitregion_end.
>       (get_best_mode): Change bitregion_start and bitregion_end from
>       unsigned HOST_WIDE_INT to poly_uint64.
> 
OK.
jeff

Reply via email to