aboutsummaryrefslogtreecommitdiff
path: root/gcc/system.h
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2022-11-10 14:29:13 +0100
committerAldy Hernandez <aldyh@redhat.com>2022-11-10 16:41:25 +0100
commitb4fc06d8c9091166a7404ca1dbeb7c197263de94 (patch)
tree81fe2936ccae9c944a4d12ab44fd575a7b838fcc /gcc/system.h
parentf1b76811f2c3773e8cabcc07932bf13e82e264db (diff)
downloadgcc-b4fc06d8c9091166a7404ca1dbeb7c197263de94.zip
gcc-b4fc06d8c9091166a7404ca1dbeb7c197263de94.tar.gz
gcc-b4fc06d8c9091166a7404ca1dbeb7c197263de94.tar.bz2
Do not specify NAN sign in frange::set_nonnegative.
After further reading of the IEEE 754 standard, it has become clear that there are no guarantees with regards to the sign of a NAN when it comes to any operation other than copy, copysign, abs, and negate. Currently, set_nonnegative() is only used in one place in ranger applicable to floating point values, when expanding unknown calls. Since we already specially handle copy, copysign, abs, and negate, all the calls to set_nonnegative() must be NAN-sign agnostic. The cleanest solution is to leave the sign unspecificied in frange::set_nonnegative(). Any special case, must be handled by the caller. gcc/ChangeLog: * value-range.cc (frange::set_nonnegative): Remove NAN sign handling. (range_tests_signed_zeros): Adjust test.
Diffstat (limited to 'gcc/system.h')
0 files changed, 0 insertions, 0 deletions