aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorAlexandre Oliva <oliva@adacore.com>2024-04-18 08:00:56 -0300
committerAlexandre Oliva <oliva@gnu.org>2024-04-18 08:00:56 -0300
commit5b178179e85ace01a97def40531e915c180aaeca (patch)
tree680ebac02cc0ea297e822ba8f2ddb40a7550682d /libstdc++-v3
parentda3504ae4d1e6872585b1107a4932efd3824e943 (diff)
downloadgcc-5b178179e85ace01a97def40531e915c180aaeca.zip
gcc-5b178179e85ace01a97def40531e915c180aaeca.tar.gz
gcc-5b178179e85ace01a97def40531e915c180aaeca.tar.bz2
[libstdc++] [testsuite] xfail double-prec from_chars for float128_t
Tests 20_util/from_chars/4.cc and 20_util/to_chars/long_double.cc were adjusted about a year ago to skip long double on some targets, because the fastfloat library was limited to 64-bit doubles. The same problem comes up in similar float128_t tests on aarch64-vxworks. This patch adjusts them similarly. Unlike the earlier tests, that got similar treatment for x86_64-vxworks, these haven't failed there. for libstdc++-v3/ChangeLog * testsuite/20_util/from_chars/8.cc: Skip float128_t testing on aarch64-vxworks. * testsuite/20_util/to_chars/float128_c++23.cc: Xfail run on aarch64-vxworks.
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/testsuite/20_util/from_chars/8.cc3
-rw-r--r--libstdc++-v3/testsuite/20_util/to_chars/float128_c++23.cc1
2 files changed, 3 insertions, 1 deletions
diff --git a/libstdc++-v3/testsuite/20_util/from_chars/8.cc b/libstdc++-v3/testsuite/20_util/from_chars/8.cc
index ee60d88..a634342 100644
--- a/libstdc++-v3/testsuite/20_util/from_chars/8.cc
+++ b/libstdc++-v3/testsuite/20_util/from_chars/8.cc
@@ -17,6 +17,7 @@
// { dg-do run { target c++23 } }
// { dg-add-options ieee }
+// { dg-additional-options "-DSKIP_LONG_DOUBLE" { target aarch64-*-vxworks* } }
#include <charconv>
#include <string>
@@ -343,7 +344,7 @@ test06()
#if defined(__STDCPP_FLOAT64_T__) && defined(_GLIBCXX_DOUBLE_IS_IEEE_BINARY64)
test_max_mantissa<std::float64_t, unsigned long long>();
#endif
-#if defined(__GLIBCXX_TYPE_INT_N_0) \
+#if defined(__GLIBCXX_TYPE_INT_N_0) && !defined SKIP_LONG_DOUBLE \
&& defined(__STDCPP_FLOAT128_T__) && defined(_GLIBCXX_LDOUBLE_IS_IEEE_BINARY128)
test_max_mantissa<std::float128_t, unsigned __GLIBCXX_TYPE_INT_N_0>();
#endif
diff --git a/libstdc++-v3/testsuite/20_util/to_chars/float128_c++23.cc b/libstdc++-v3/testsuite/20_util/to_chars/float128_c++23.cc
index 5476328..ca00761 100644
--- a/libstdc++-v3/testsuite/20_util/to_chars/float128_c++23.cc
+++ b/libstdc++-v3/testsuite/20_util/to_chars/float128_c++23.cc
@@ -19,6 +19,7 @@
// { dg-require-effective-target ieee_floats }
// { dg-require-effective-target size32plus }
// { dg-add-options ieee }
+// { dg-xfail-run-if "from_chars limited to double-precision" { aarch64-*-vxworks* } }
#include <charconv>
#include <stdfloat>