diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2022-03-10 14:17:03 +0000 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2022-03-10 14:25:46 +0000 |
commit | 73f3b8a53e6664c079731c2a183c16621481d039 (patch) | |
tree | 2699289256ab4cb281f0c9c534a3c1d0a8fb1713 /gcc/fortran/trans-openmp.cc | |
parent | c65d3c7f9dade18826d1a28d71b98c7cdc3e4300 (diff) | |
download | gcc-73f3b8a53e6664c079731c2a183c16621481d039.zip gcc-73f3b8a53e6664c079731c2a183c16621481d039.tar.gz gcc-73f3b8a53e6664c079731c2a183c16621481d039.tar.bz2 |
libstdc++: Fix std::strong_order to handle NaN on VAX
I mistakenly believed that VAX floats do not support NaN, but with GCC
__builtin_isnan(__builtin_nan("")) is true. That means my previous
change to <compare> is wrong, because it fails to handle NaN.
When std::numeric_limits<floating-point-type>::is_iec559 is false, as on
VAX, the standard only requires an ordering that is consistent with the
ordering observed by comparison operators. With this change the ordering
is -NaN < numbers < +NaN, and there is no support for different NaN bit
patterns (as I'm not even sure if GCC supports any for VAX).
libstdc++-v3/ChangeLog:
* libsupc++/compare (_Strong_order::_S_fp_cmp) [__vax__]:
Handle NaN.
Diffstat (limited to 'gcc/fortran/trans-openmp.cc')
0 files changed, 0 insertions, 0 deletions