aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <oliva@adacore.com>2023-05-05 08:28:41 -0300
committerAlexandre Oliva <oliva@gnu.org>2023-05-05 08:28:41 -0300
commite383fc69d2a3eab37319ea41543ee09c8cdd6e57 (patch)
tree1c9a9099155b16c8613023494e0db8a80ebea39d
parent4359724cba31b2645f6106266bef019c3d6ef16a (diff)
downloadgcc-e383fc69d2a3eab37319ea41543ee09c8cdd6e57.zip
gcc-e383fc69d2a3eab37319ea41543ee09c8cdd6e57.tar.gz
gcc-e383fc69d2a3eab37319ea41543ee09c8cdd6e57.tar.bz2
[libstdc++] [testsuite] xfail double-prec from_chars for ldbl
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.
-rw-r--r--libstdc++-v3/testsuite/20_util/from_chars/4.cc3
-rw-r--r--libstdc++-v3/testsuite/20_util/to_chars/long_double.cc4
2 files changed, 6 insertions, 1 deletions
diff --git a/libstdc++-v3/testsuite/20_util/from_chars/4.cc b/libstdc++-v3/testsuite/20_util/from_chars/4.cc
index dd55690..c3594f9 100644
--- a/libstdc++-v3/testsuite/20_util/from_chars/4.cc
+++ b/libstdc++-v3/testsuite/20_util/from_chars/4.cc
@@ -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
}
diff --git a/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc b/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc
index 880c980..263144b 100644
--- a/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc
+++ b/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc
@@ -34,6 +34,10 @@
// 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 }
// { dg-require-cmath "" }