]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[libstdc++] [testsuite] xfail double-prec from_chars for ldbl
authorAlexandre Oliva <oliva@adacore.com>
Fri, 5 May 2023 11:34:23 +0000 (08:34 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Tue, 30 May 2023 21:59:24 +0000 (18:59 -0300)
When long double is wider than double, but from_chars is implemented
in terms of double, tests that involve the full precision of long
double are expected to fail.  Mark them as such on aarch64-*-vxworks.

for  libstdc++-v3/ChangeLog

* testsuite/20_util/from_chars/4.cc: Skip long double test06
on aarch64-vxworks.
* testsuite/20_util/to_chars/long_double.cc: Xfail run on
aarch64-vxworks.

(cherry picked from commit e383fc69d2a3eab37319ea41543ee09c8cdd6e57)

libstdc++-v3/testsuite/20_util/from_chars/4.cc
libstdc++-v3/testsuite/20_util/to_chars/long_double.cc

index c27df4ffa5e53c0cfddc0271d1f32de14869f416..6c840ece8028d033cbbba59f6d0816f077c1cb54 100644 (file)
@@ -18,6 +18,7 @@
 // <charconv> is supported in C++14 as a GNU extension
 // { dg-do run { target c++14 } }
 // { dg-add-options ieee }
+// { dg-additional-options "-DSKIP_LONG_DOUBLE" { target aarch64-*-vxworks* } }
 
 #include <charconv>
 #include <string>
@@ -354,7 +355,7 @@ test06()
 {
   test_max_mantissa<float, unsigned long>();
   test_max_mantissa<double, unsigned long long>();
-#ifdef __GLIBCXX_TYPE_INT_N_0
+#if defined __GLIBCXX_TYPE_INT_N_0 && !defined SKIP_LONG_DOUBLE
   test_max_mantissa<long double, unsigned __GLIBCXX_TYPE_INT_N_0>();
 #endif
 }
index 94b5b5967d374965edb97fd406dfc4e2de5f4c1a..52e382e76a1dd070ac9be088094c7d5a7155be02 100644 (file)
 // more portable and robust to differences in system printf behavior.
 // { dg-xfail-run-if "Non-conforming printf (see PR98384)" { *-*-solaris* *-*-darwin* } }
 
+// On systems that use double-precision from_chars for long double,
+// this is expected to fail.
+// { dg-xfail-run-if "from_chars limited to double-precision" { aarch64-*-vxworks* } }
+
 // { dg-require-effective-target ieee_floats }
 // { dg-require-effective-target size32plus }