aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_ceill.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_floorl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_rintl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_roundl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_truncl.c3
6 files changed, 25 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2516304..1cf86d7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2016-05-27 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #20156]
+ * sysdeps/ieee754/ldbl-128ibm/s_ceill.c (__ceill): Add high part
+ to itself when zero or not finite.
+ * sysdeps/ieee754/ldbl-128ibm/s_floorl.c (__floorl): Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/s_rintl.c (__rintl): Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/s_roundl.c (__roundl): Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/s_truncl.c (__truncl): Likewise.
+
2016-05-26 Joseph Myers <joseph@codesourcery.com>
[BZ #20153]
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_ceill.c b/sysdeps/ieee754/ldbl-128ibm/s_ceill.c
index 635fddc..71f5623 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_ceill.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_ceill.c
@@ -52,6 +52,9 @@ __ceill (long double x)
ldbl_canonicalize_int (&xh, &xl);
}
}
+ else
+ /* Quiet signaling NaN arguments. */
+ xh += xh;
return ldbl_pack (xh, xl);
}
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_floorl.c b/sysdeps/ieee754/ldbl-128ibm/s_floorl.c
index a146964..61ac568 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_floorl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_floorl.c
@@ -52,6 +52,9 @@ __floorl (long double x)
ldbl_canonicalize_int (&xh, &xl);
}
}
+ else
+ /* Quiet signaling NaN arguments. */
+ xh += xh;
return ldbl_pack (xh, xl);
}
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_rintl.c b/sysdeps/ieee754/ldbl-128ibm/s_rintl.c
index e4af01c..f7ff673 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_rintl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_rintl.c
@@ -119,6 +119,9 @@ __rintl (long double x)
fesetround (save_round);
#endif
}
+ else
+ /* Quiet signaling NaN arguments. */
+ xh += xh;
return ldbl_pack (xh, xl);
}
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_roundl.c b/sysdeps/ieee754/ldbl-128ibm/s_roundl.c
index b01510f..2d75eb0 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_roundl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_roundl.c
@@ -77,6 +77,9 @@ __roundl (long double x)
ldbl_canonicalize_int (&xh, &xl);
}
}
+ else
+ /* Quiet signaling NaN arguments. */
+ xh += xh;
return ldbl_pack (xh, xl);
}
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_truncl.c b/sysdeps/ieee754/ldbl-128ibm/s_truncl.c
index b7d4bb5..a2c60a8 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_truncl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_truncl.c
@@ -52,6 +52,9 @@ __truncl (long double x)
ldbl_canonicalize_int (&xh, &xl);
}
}
+ else
+ /* Quiet signaling NaN arguments. */
+ xh += xh;
return ldbl_pack (xh, xl);
}