* lib/setpayloadsig.c (setpayloadsig): On MIPS CPUs with MIPS_NAN2008_DOUBLE,
reject a zero payload.
* lib/setpayloadsigf.c (setpayloadsigf): On MIPS CPUs with MIPS_NAN2008_FLOAT,
reject a zero payload.
* lib/setpayloadsigl.c (setpayloadsigl): On MIPS CPUs with
MIPS_NAN2008_LONG_DOUBLE, reject a zero payload.
+2024-04-18 Bruno Haible <bruno@clisp.org>
+
+ setpayloadsig*: Support newer MIPS CPUs.
+ * lib/setpayloadsig.c (setpayloadsig): On MIPS CPUs with MIPS_NAN2008_DOUBLE,
+ reject a zero payload.
+ * lib/setpayloadsigf.c (setpayloadsigf): On MIPS CPUs with MIPS_NAN2008_FLOAT,
+ reject a zero payload.
+ * lib/setpayloadsigl.c (setpayloadsigl): On MIPS CPUs with
+ MIPS_NAN2008_LONG_DOUBLE, reject a zero payload.
+
2024-04-18 Bruno Haible <bruno@clisp.org>
setpayload*: 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__
payload >= 0.0
# else
/* A zero payload is not allowed, because that would denote Infinity.
{
#if FLT_MANT_DIG == 24
if (
-# if defined __hppa || defined __mips__ || defined __sh__
+# if defined __hppa || (defined __mips__ && !MIPS_NAN2008_FLOAT) || defined __sh__
payload >= 0.0f
# else
/* A zero payload is not allowed, because that would denote Infinity.
# 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__
payload >= 0.0L
# else
/* A zero payload is not allowed, because that would denote Infinity.