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.


Bernd

Reply via email to