]> git.ipfire.org Git - thirdparty/gnulib.git/commitdiff
setpayloadsig*: Support newer MIPS CPUs.
authorBruno Haible <bruno@clisp.org>
Fri, 19 Apr 2024 00:14:45 +0000 (02:14 +0200)
committerBruno Haible <bruno@clisp.org>
Fri, 19 Apr 2024 00:14:45 +0000 (02:14 +0200)
* 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.

ChangeLog
lib/setpayloadsig.c
lib/setpayloadsigf.c
lib/setpayloadsigl.c

index b3c806d91cadcc944654d6570524c294d5a081be..8c90a81e0a9343997c809f0717fa54d8e94a96a5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+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.
index c336f08c809d31630d71cab8e3c867cb525c1189..e9036dab86509325bc93ff9ffa5a2bcf773f308e 100644 (file)
@@ -32,7 +32,7 @@ setpayloadsig (double *result, double payload)
 {
 #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.
index 0f41f9f3dfe496e5b241ce2d749d29a616ccdd00..aa92afa49548fc0018163af5f3261ddd8e468e43 100644 (file)
@@ -32,7 +32,7 @@ setpayloadsigf (float *result, float payload)
 {
 #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.
index 5cfe3cb7833697a888be7dba854e95bab6d44587..752d1584019c98af0c9d420c506da8dc80fb64f8 100644 (file)
@@ -49,7 +49,7 @@ setpayloadsigl (long double *result, long double payload)
 # 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.