On Fri, 5 May 2023 at 11:39, Alexandre Oliva wrote: > Here's a patch to skip/xfail the bits that are expected to fail on > aarch64-vxworks. > OK for trunk and gcc-13, thanks. > > > [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. > --- > libstdc++-v3/testsuite/20_util/from_chars/4.cc | 3 ++- > .../testsuite/20_util/to_chars/long_double.cc | 4 ++++ > 2 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/libstdc++-v3/testsuite/20_util/from_chars/4.cc > b/libstdc++-v3/testsuite/20_util/from_chars/4.cc > index dd55690eb6511..c3594f9014bd3 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 @@ > // 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 > #include > @@ -354,7 +355,7 @@ test06() > { > test_max_mantissa(); > test_max_mantissa(); > -#ifdef __GLIBCXX_TYPE_INT_N_0 > +#if defined __GLIBCXX_TYPE_INT_N_0 && !defined SKIP_LONG_DOUBLE > test_max_mantissa(); > #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 880c98021876d..263144bd42cba 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 "" } > > > -- > Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ > Free Software Activist GNU Toolchain Engineer > Disinformation flourishes because many people care deeply about injustice > but very few check the facts. Ask me about > >