poly_int: expand_expr_real_2
authorRichard Sandiford <richard.sandiford@linaro.org>
Wed, 3 Jan 2018 07:17:46 +0000 (07:17 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 3 Jan 2018 07:17:46 +0000 (07:17 +0000)
commit0fd03b44ab4d77f8b8c09e5bbc2def4eeb855053
tree5f58c996d3a8817c759a79fa3b3051a610740ca7
parentc3266d10a4e9446d98f6c262d315e0227bf281af
poly_int: expand_expr_real_2

This patch makes expand_expr_real_2 cope with polynomial mode sizes
when handling conversions involving a union type.

2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
    Alan Hayward  <alan.hayward@arm.com>
    David Sherwood  <david.sherwood@arm.com>

gcc/
* expr.c (expand_expr_real_2): When handling conversions involving
unions, apply tree_to_poly_uint64 to the TYPE_SIZE rather than
multiplying int_size_in_bytes by BITS_PER_UNIT.  Treat GET_MODE_BISIZE
as a poly_uint64 too.

Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>
From-SVN: r256151
gcc/ChangeLog
gcc/expr.c