>From 35bac6a74c9ded7bdf7c4e0ffd07db702c1a2a1d Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 5 Nov 2023 23:25:08 +0100 Subject: [PATCH 1/2] fenv-exceptions-tracking-c99: Fix test failures on Minix. * m4/fenv-exceptions-tracking.m4 (gl_FENV_EXCEPTIONS_TRACKING): On Minix, set REPLACE_FECLEAREXCEPT and REPLACE_FETESTEXCEPT to 1. * doc/posix-functions/feclearexcept.texi: Mention the Minix bug. * doc/posix-functions/fetestexcept.texi: Likewise. --- ChangeLog | 8 ++++++++ doc/posix-functions/feclearexcept.texi | 3 +++ doc/posix-functions/fetestexcept.texi | 3 +++ m4/fenv-exceptions-tracking.m4 | 8 +++++++- 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 0648ef3720..e4567afb8a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2023-11-05 Bruno Haible + + fenv-exceptions-tracking-c99: Fix test failures on Minix. + * m4/fenv-exceptions-tracking.m4 (gl_FENV_EXCEPTIONS_TRACKING): On + Minix, set REPLACE_FECLEAREXCEPT and REPLACE_FETESTEXCEPT to 1. + * doc/posix-functions/feclearexcept.texi: Mention the Minix bug. + * doc/posix-functions/fetestexcept.texi: Likewise. + 2023-11-05 Bruno Haible fenv-exceptions-trapping: Avoid test failure on Haiku/i386. diff --git a/doc/posix-functions/feclearexcept.texi b/doc/posix-functions/feclearexcept.texi index 8b218804bd..4df9178c30 100644 --- a/doc/posix-functions/feclearexcept.texi +++ b/doc/posix-functions/feclearexcept.texi @@ -11,6 +11,9 @@ @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, IRIX 6.5, Solaris 9, Cygwin 1.7.7, MSVC 9, Android 4.4. +@item +This function is broken on some platforms: +Minix 3.3/i386. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/fetestexcept.texi b/doc/posix-functions/fetestexcept.texi index 7e9b8e3327..0073316465 100644 --- a/doc/posix-functions/fetestexcept.texi +++ b/doc/posix-functions/fetestexcept.texi @@ -15,6 +15,9 @@ This function clears the floating-point exception trap bits on some platforms: @c It uses an 'fnstenv' instruction without subsequent 'fldenv' or 'fldcw'. NetBSD 9.3/x86_64. +@item +This function is broken on some platforms: +Minix 3.3/i386. @end itemize Portability problems not fixed by Gnulib: diff --git a/m4/fenv-exceptions-tracking.m4 b/m4/fenv-exceptions-tracking.m4 index 1aa378f971..d5c384c9cb 100644 --- a/m4/fenv-exceptions-tracking.m4 +++ b/m4/fenv-exceptions-tracking.m4 @@ -1,4 +1,4 @@ -# fenv-exceptions-tracking.m4 serial 2 +# fenv-exceptions-tracking.m4 serial 3 dnl Copyright (C) 2023 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -118,6 +118,12 @@ AC_DEFUN_ONCE([gl_FENV_EXCEPTIONS_TRACKING] dnl 'fnstenv' instruction without subsequent 'fldenv' or 'fldcw'). REPLACE_FETESTEXCEPT=1 ;; + *86*-*-minix*) + dnl On Minix 3.3, both the feclearexcept and fetestexcept functions + dnl need to be overridden; otherwise we get unit test failures. + REPLACE_FECLEAREXCEPT=1 + REPLACE_FETESTEXCEPT=1 + ;; esac if test $REPLACE_FECLEAREXCEPT = 1 \ && test $REPLACE_FETESTEXCEPT = 1 \ -- 2.34.1