[PATCH] Fix 78550 ICE with bit-field initialization
Richard Biener
richard.guenther@gmail.com
Fri Dec 9 10:03:00 GMT 2016
On Thu, Dec 8, 2016 at 5:38 PM, Nathan Sidwell <nathan@acm.org> wrote:
> This patch fixes 78550, where we ICE in varasm as we discover a
> code-generating NOP_EXPR of an INTEGER_CST. output_constructor (varasm.c)
> has a STRIP_NOPs, but that leaves the NOP alone, as it is truncating a
> regular QI mode operand to a 1 bit type.
>
> That tree is generated in convert.c:
> /* If TYPE is an enumeral type or a type with a precision less
> than the number of bits in its mode, do the conversion to the
> type corresponding to its mode, then do a nop conversion
> to TYPE. */
> ....
> return fold_build1_loc (dofold, loc, NOP_EXPR, type, ...);
> }
> Fixed by changing it to maybe_fold_build1_loc. Surrounding code uses that
> function.
>
> ok?
Ok.
Thanks,
Richard.
> nathan
> --
> Nathan Sidwell
More information about the Gcc-patches
mailing list