]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[libstdc++] [testsuite] xfail double-prec from_chars for float128_t
authorAlexandre Oliva <oliva@adacore.com>
Thu, 18 Apr 2024 11:00:56 +0000 (08:00 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Thu, 18 Apr 2024 11:00:56 +0000 (08:00 -0300)
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.

libstdc++-v3/testsuite/20_util/from_chars/8.cc
libstdc++-v3/testsuite/20_util/to_chars/float128_c++23.cc

index ee60d88c332db606dd8c425c35e7c52ae32a1e52..a6343422c5a91608e9c98ace90f922c3a23bd9d6 100644 (file)
@@ -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
index 547632817b4bb99625227cee4d5f420fb1cc96b0..ca00761ee7c98618b06b47ecde06b06dbc742d0a 100644 (file)
@@ -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>