On January 11, 2016 5:36:33 PM GMT+01:00, Bernd Schmidt <bschm...@redhat.com> 
wrote:
>On 01/11/2016 05:33 PM, Matthew Wahab wrote:
>>
>> The case I'm trying to fix has (short)abs((int)short_var). I'd
>thought
>> that if
>> abs(short_var) was undefined because the result couldn't be
>represented
>> then the type
>> conversion from int to short would also be undefined. In fact, it's
>> implementation
>> defined and S4.5 of the GCC manual says that the value is reduced
>until
>> it can be
>> represented. So (short)abs((int)short_var) will produce a value when
>> abs(short_var) is undefined meaning this transformation isn't
>correct.
>> I'll drop this patch.
>
>Maybe we could have an optab and corresponding internal function for an
>
>abs that's always defined.

I'd like to have ABSU_EXPR (or allow unsigned result on ABS_EXPR). 

Richard.

>
>Bernd


Reply via email to