+2023-11-04 Bruno Haible <bruno@clisp.org>
+
+ fenv-exceptions-trapping: Fix for powerpc* platforms.
+ * lib/fenv-except-trapping.c (feenableexcept, fedisableexcept)
+ [powerpc]: Use the correct bit mask for the trap bits.
+ * tests/test-fenv-except-trapping-2.c (main): Reenable the '9' tests on
+ powerpc platforms.
+
2023-11-04 Bruno Haible <bruno@clisp.org>
fenv-exceptions-state-c99: Fix compilation error on FreeBSD.
if (!(memenv.u == orig_memenv.u))
{
- if ((orig_memenv.u & 0x000000f7) == 0 && (memenv.u & 0x000000f7) != 0)
+ if ((orig_memenv.u & 0x000000f8) == 0 && (memenv.u & 0x000000f8) != 0)
{
/* Put the thread into precise trapping mode. */
# if defined __linux__ || defined __NetBSD__
{
_FPU_SETCW_AS_DOUBLE (memenv.f);
- if ((orig_memenv.u & 0x000000f7) != 0 && (memenv.u & 0x000000f7) == 0)
+ if ((orig_memenv.u & 0x000000f8) != 0 && (memenv.u & 0x000000f8) == 0)
{
/* Put the thread into no-trapping mode. */
# if defined __linux__ || defined __NetBSD__
#if defined __i386 || defined _M_IX86
known_failure |= (operation_arg[0] == '7' || operation_arg[0] == '8');
#endif
- /* The '9' tests do not work on Linux/alpha, musl libc/powerpc64le,
- AIX/powerpc. */
- #if (__GLIBC__ >= 2 && defined __alpha) \
- || ((defined MUSL_LIBC || defined _AIX) && defined __powerpc__)
+ /* The '9' tests do not work on Linux/alpha. */
+ #if (__GLIBC__ >= 2 && defined __alpha)
known_failure |= (operation_arg[0] == '9');
#endif
/* The 'l' tests do not work on Linux/loongarch64 with glibc 2.37.