]> Savannah Git Hosting - gnulib.git/commitdiff
fenv-*: Avoid test failures on OpenBSD/mips64.
authorBruno Haible <bruno@clisp.org>
Tue, 7 Nov 2023 01:04:59 +0000 (02:04 +0100)
committerBruno Haible <bruno@clisp.org>
Tue, 7 Nov 2023 01:04:59 +0000 (02:04 +0100)
* tests/test-fenv-round.c (test_towardzero, test_upward, test_downward):
Skip the 'long double' tests on OpenBSD/mips64.
* tests/test-fenv-except-tracking-2.c (main): On OpenBSD/mips64, skip
the 'long double' test.
* tests/test-fenv-except-trapping-2.c (main): Skip the '4' tests and the
'long double' tests also on OpenBSD/mips64.
* doc/posix-functions/fesetround.texi: Mention OpenBSD/mips64 here too.

ChangeLog
doc/posix-functions/fesetround.texi
tests/test-fenv-except-tracking-2.c
tests/test-fenv-except-trapping-2.c
tests/test-fenv-round.c

index 7fd78a2bd87e7143b551dd5bce782a033041bc15..ac84b2873462b9343fbd05c7a209450d7a1ca4c4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2023-11-06  Bruno Haible  <bruno@clisp.org>
 
+       fenv-*: Avoid test failures on OpenBSD/mips64.
+       * tests/test-fenv-round.c (test_towardzero, test_upward, test_downward):
+       Skip the 'long double' tests on OpenBSD/mips64.
+       * tests/test-fenv-except-tracking-2.c (main): On OpenBSD/mips64, skip
+       the 'long double' test.
+       * tests/test-fenv-except-trapping-2.c (main): Skip the '4' tests and the
+       'long double' tests also on OpenBSD/mips64.
+       * doc/posix-functions/fesetround.texi: Mention OpenBSD/mips64 here too.
+
        fenv-exceptions-tracking-c99: Fix test failures on OpenBSD/mips64.
        * m4/fenv-exceptions-tracking.m4 (gl_FENV_EXCEPTIONS_TRACKING): On
        OpenBSD/mips, set REPLACE_FECLEAREXCEPT to 1.
index 73d6c034fa279938325951fed187c7ffb83ae86f..bb06c4192a253d5cf9c632dbb281a87ffcd2aa4b 100644 (file)
@@ -20,5 +20,5 @@ Portability problems not fixed by Gnulib:
 @itemize
 @item
 The rounding mode has no effect on @code{long double} operations on some platforms:
-FreeBSD/arm64, NetBSD/sparc64.
+FreeBSD/arm64, NetBSD/sparc64, OpenBSD/mips64.
 @end itemize
index 9844166d81f85a58a5aff3e5e55d418aafc87eef..6687a79b2b2dcbc8428380976a35bbdac4a6ebf2 100644 (file)
@@ -67,10 +67,12 @@ main (int argc, char *argv[])
         /* This test does not work on Linux/loongarch64 with glibc 2.37.
            Likewise on Linux/alpha with glibc 2.7 on Linux 2.6.26.
            Likewise on FreeBSD 12.2/sparc and NetBSD 8.0/sparc.
+           Likewise on OpenBSD 7.4/mips64.
            Cause unknown.  */
         #if !((__GLIBC__ >= 2 && defined __loongarch__) \
               || ((__GLIBC__ == 2 && __GLIBC_MINOR__ < 36) && defined __alpha) \
-              || ((defined __FreeBSD__ || defined __NetBSD__) && defined __sparc))
+              || ((defined __FreeBSD__ || defined __NetBSD__) && defined __sparc) \
+              || (defined __OpenBSD__ && defined __mips64))
         {
           volatile long double a, b;
           _GL_UNUSED volatile long double c;
index 21d35484010fe91ae053bc25e6960f8b66f5775a..8c3c9024372c0bd94b0219a565c2d20970f69193 100644 (file)
@@ -435,7 +435,7 @@ main (int argc, char *argv[])
            macOS/i386, macOS/x86_64, macOS/arm64,
            FreeBSD/i386, FreeBSD/x86_64,
            NetBSD/i386, NetBSD/x86_64,
-           OpenBSD/i386, OpenBSD/x86_64,
+           OpenBSD/i386, OpenBSD/x86_64, OpenBSD/mips64,
            Minix/i386,
            AIX/powerpc,
            Solaris/i386, Solaris/x86_64,
@@ -460,6 +460,7 @@ main (int argc, char *argv[])
           || (defined MUSL_LIBC && ((defined __i386 || defined _M_IX86) || defined __powerpc__)) \
           || ((defined __APPLE__ && defined __MACH__) && ((defined __x86_64__ || defined _M_X64) || (defined __i386 || defined _M_IX86) || defined __aarch64__)) \
           || ((defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__) && ((defined __x86_64__ || defined _M_X64) || (defined __i386 || defined _M_IX86))) \
+          || (defined __OpenBSD__ && defined __mips64) \
           || (defined __minix && (defined __i386 || defined _M_IX86)) \
           || (defined _AIX && defined __powerpc__) \
           || (defined __sun && ((defined __x86_64__ || defined _M_X64) || (defined __i386 || defined _M_IX86))) \
@@ -480,10 +481,12 @@ main (int argc, char *argv[])
       /* The 'l' tests do not work on Linux/loongarch64 with glibc 2.37.
          Likewise on Linux/alpha with glibc 2.7 on Linux 2.6.26.
          Likewise on FreeBSD 12.2/sparc and NetBSD 8.0/sparc.
+         Likewise on OpenBSD 7.4/mips64.
          Cause unknown.  */
       #if (__GLIBC__ >= 2 && defined __loongarch__) \
           || ((__GLIBC__ == 2 && __GLIBC_MINOR__ < 36) && defined __alpha) \
-          || ((defined __FreeBSD__ || defined __NetBSD__) && defined __sparc)
+          || ((defined __FreeBSD__ || defined __NetBSD__) && defined __sparc) \
+          || (defined __OpenBSD__ && defined __mips64)
       known_failure |= (type_arg[0] == 'l');
       #endif
       if (known_failure)
index b697fb13010d73c1e90ce4505cefe8e21fa678b3..637b204bfdb0c804a1d8f71fa3588434cd56ccc1 100644 (file)
@@ -45,7 +45,7 @@ test_towardzero ()
     a = -1; b = 3; q = a / b; p = b * q;
     ASSERT (p > a);
   }
-#if !((defined __FreeBSD__ && defined __aarch64__) || (defined __NetBSD__ && defined __sparcv9 /* sparc64 */))
+#if !((defined __FreeBSD__ && defined __aarch64__) || (defined __NetBSD__ && defined __sparcv9 /* sparc64 */) || (defined __OpenBSD__ && defined __mips64))
   {
     long double volatile a, b, q, p;
 
@@ -80,7 +80,7 @@ test_upward ()
     a = -1; b = 3; q = a / b; p = b * q;
     ASSERT (p > a);
   }
-#if !((defined __FreeBSD__ && defined __aarch64__) || (defined __NetBSD__ && defined __sparcv9 /* sparc64 */))
+#if !((defined __FreeBSD__ && defined __aarch64__) || (defined __NetBSD__ && defined __sparcv9 /* sparc64 */) || (defined __OpenBSD__ && defined __mips64))
   {
     long double volatile a, b, q, p;
 
@@ -115,7 +115,7 @@ test_downward ()
     a = -1; b = 3; q = a / b; p = b * q;
     ASSERT (p < a);
   }
-#if !((defined __FreeBSD__ && defined __aarch64__) || (defined __NetBSD__ && defined __sparcv9 /* sparc64 */))
+#if !((defined __FreeBSD__ && defined __aarch64__) || (defined __NetBSD__ && defined __sparcv9 /* sparc64 */) || (defined __OpenBSD__ && defined __mips64))
   {
     long double volatile a, b, q, p;