[wide-int] Fix mode choice in convert_modes
Richard Sandiford
rdsandiford@googlemail.com
Mon Sep 9 14:05:00 GMT 2013
Richard Biener <richard.guenther@gmail.com> writes:
> On Mon, Sep 9, 2013 at 3:11 PM, Richard Sandiford
> <rdsandiford@googlemail.com> wrote:
>> Enabling the CONST_INT assert showed that this branch-local code was
>> passing the wrong mode to std::make_pair. The mode of X is OLDMODE,
>> and we're supposed to be converting it to MODE.
>>
>> In the case where OLDMODE is VOIDmode, I think we have to assume
>> that every bit of the input is significant.
>>
>> Tested on x86_64-linux-gnu. OK to install?
>>
>> This and the other patches that I just committed to trunk are enough
>> for a bootstrap and regression test to pass on x86_64-linux-gnu with
>> the assertion for a canonical CONST_INT enabled. I think it would be
>> better to leave the assertion out until after the merge though,
>> so we can deal with any fallout separately.
>
> If consuming code assumes CONST_INTs are canonical we better leave it
> in though.
Yeah, I think the patch Kenny's working on is going to canonise CONST_INTs
via the scratch array, to avoid making any assumptions. I think we should
keep that for the merge and only swap it for an assert later.
Thanks,
Richard
More information about the Gcc-patches
mailing list