+2024-04-18 Bruno Haible <bruno@clisp.org>
+
+ setpayload*: Support newer MIPS CPUs.
+ * lib/setpayload.c (setpayload): On MIPS CPUs with MIPS_NAN2008_DOUBLE,
+ accept a zero payload.
+ * lib/setpayloadf.c (setpayloadf): On MIPS CPUs with MIPS_NAN2008_FLOAT,
+ accept a zero payload.
+ * lib/setpayloadl.c (setpayloadl): On MIPS CPUs with
+ MIPS_NAN2008_LONG_DOUBLE, accept a zero payload.
+ * m4/setpayload.m4 (gl_FUNC_SETPAYLOADF, gl_FUNC_SETPAYLOAD,
+ gl_FUNC_SETPAYLOADL): Invoke gl_NAN_MIPS.
+ * modules/setpayload (Files): Add m4/nan-mips.m4.
+ * modules/setpayloadf (Files): Likewise.
+ * modules/setpayloadl (Files): Likewise.
+
2024-04-18 Bruno Haible <bruno@clisp.org>
totalorder*: Support newer MIPS CPUs.
{
#if DBL_MANT_DIG == 53
if (
-# if defined __hppa || defined __mips__ || defined __sh__
+# if defined __hppa || (defined __mips__ && !MIPS_NAN2008_DOUBLE) || defined __sh__
/* A zero payload is not allowed, because that would denote Infinity.
Cf. snan.h. */
payload > 0.0
{
#if FLT_MANT_DIG == 24
if (
-# if defined __hppa || defined __mips__ || defined __sh__
+# if defined __hppa || (defined __mips__ && !MIPS_NAN2008_FLOAT) || defined __sh__
/* A zero payload is not allowed, because that would denote Infinity.
Cf. snan.h. */
payload > 0.0f
# if (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 106 || LDBL_MANT_DIG == 113) \
&& defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
if (
-# if defined __hppa || defined __mips__ || defined __sh__
+# if defined __hppa || (defined __mips__ && !MIPS_NAN2008_LONG_DOUBLE) || defined __sh__
/* A zero payload is not allowed, because that would denote Infinity.
Cf. snan.h. */
payload > 0.0L
# setpayload.m4
-# serial 1
+# serial 2
dnl Copyright 2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
fi
if test $HAVE_SETPAYLOADF = 0; then
SETPAYLOADF_LIBM=
+ dnl Prerequisite of lib/setpayloadf.c.
+ gl_NAN_MIPS
fi
AC_SUBST([SETPAYLOADF_LIBM])
])
fi
if test $HAVE_SETPAYLOAD = 0; then
SETPAYLOAD_LIBM=
+ dnl Prerequisite of lib/setpayload.c.
+ gl_NAN_MIPS
fi
AC_SUBST([SETPAYLOAD_LIBM])
])
fi
dnl Prerequisite of lib/setpayloadl.c.
gl_LONG_DOUBLE_EXPONENT_LOCATION
+ gl_NAN_MIPS
fi
AC_SUBST([SETPAYLOADL_LIBM])
])
lib/setpayload.c
m4/mathfunc.m4
m4/setpayload.m4
+m4/nan-mips.m4
Depends-on:
math
lib/setpayloadf.c
m4/mathfunc.m4
m4/setpayload.m4
+m4/nan-mips.m4
Depends-on:
math
m4/mathfunc.m4
m4/setpayload.m4
m4/exponentl.m4
+m4/nan-mips.m4
Depends-on:
math