From: Matthias Kretz PR libstdc++/84949 * include/std/limits: Let is_iec559 reflect whether __GCC_IEC_559 says float and double support IEEE 754-2008. * testsuite/18_support/numeric_limits/is_iec559.cc: Test IEC559 mandated behavior if is_iec559 is true. * testsuite/18_support/numeric_limits/infinity.cc: Only test inf behavior if is_iec559 is true, otherwise there is no guarantee how arithmetic on inf behaves. * testsuite/18_support/numeric_limits/quiet_NaN.cc: ditto for NaN. * testsuite/18_support/numeric_limits/denorm_min-1.cc: Compile with -ffast-math. * testsuite/18_support/numeric_limits/epsilon-1.cc: ditto. * testsuite/18_support/numeric_limits/infinity-1.cc: ditto. * testsuite/18_support/numeric_limits/is_iec559-1.cc: ditto. * testsuite/18_support/numeric_limits/quiet_NaN-1.cc: ditto. --- libstdc++-v3/include/std/limits | 9 ++-- .../18_support/numeric_limits/denorm_min-1.cc | 2 + .../18_support/numeric_limits/epsilon-1.cc | 2 + .../18_support/numeric_limits/infinity-1.cc | 2 + .../18_support/numeric_limits/infinity.cc | 4 +- .../18_support/numeric_limits/is_iec559-1.cc | 2 + .../18_support/numeric_limits/is_iec559.cc | 44 ++++++++++++++----- .../18_support/numeric_limits/quiet_NaN-1.cc | 2 + .../18_support/numeric_limits/quiet_NaN.cc | 5 ++- 9 files changed, 51 insertions(+), 21 deletions(-) create mode 100644 libstdc++-v3/testsuite/18_support/numeric_limits/ denorm_min-1.cc create mode 100644 libstdc++-v3/testsuite/18_support/numeric_limits/ epsilon-1.cc create mode 100644 libstdc++-v3/testsuite/18_support/numeric_limits/ infinity-1.cc create mode 100644 libstdc++-v3/testsuite/18_support/numeric_limits/ is_iec559-1.cc create mode 100644 libstdc++-v3/testsuite/18_support/numeric_limits/ quiet_NaN-1.cc