Based on discussions in the last few weeks, aren't most of the cases in
tree_call_nonnegative_warnv_p() wrong when honoring NANS?
For example:
CASE_CFN_ACOS:
CASE_CFN_ACOS_FN:
CASE_CFN_ACOSH:
CASE_CFN_ACOSH_FN:
...
...
/* Always true. */
return true;
But are we guaranteed a +NAN for any NAN input? I thought we were only
guaranteed the NAN sign for abs, copysign, assignment, etc? Similarly
for most other cases in this function.
Hmmm. I really think a good chunk of fold-const.cc should live in
range-ops. It seems we're duplicating a lot of functionality.
Similarly to bit-CCP as I've mentioned.
Aldy