summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--NEWS2
-rw-r--r--sysdeps/ieee754/dbl-64/s_lrint.c2
3 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 0bfe5f56a4..1ceae346df 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-10-09 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #19095]
+ * sysdeps/ieee754/dbl-64/s_lrint.c (__lrint): Cast low part of
+ mantissa to long int before shifting left.
+
2015-10-08 Joseph Myers <joseph@codesourcery.com>
[BZ #19094]
diff --git a/NEWS b/NEWS
index 352e468603..5c239f3988 100644
--- a/NEWS
+++ b/NEWS
@@ -19,7 +19,7 @@ Version 2.23
18875, 18887, 18921, 18951, 18952, 18956, 18961, 18966, 18967, 18969,
18970, 18977, 18980, 18981, 18985, 19003, 19012, 19016, 19018, 19032,
19046, 19049, 19050, 19059, 19071, 19076, 19077, 19078, 19079, 19085,
- 19086, 19088, 19094.
+ 19086, 19088, 19094, 19095.
* The obsolete header <regexp.h> has been removed. Programs that require
this header must be updated to use <regex.h> instead.
diff --git a/sysdeps/ieee754/dbl-64/s_lrint.c b/sysdeps/ieee754/dbl-64/s_lrint.c
index 39f95adc21..d004594bc2 100644
--- a/sysdeps/ieee754/dbl-64/s_lrint.c
+++ b/sysdeps/ieee754/dbl-64/s_lrint.c
@@ -61,7 +61,7 @@ __lrint (double x)
else if (j0 < (int32_t) (8 * sizeof (long int)) - 1)
{
if (j0 >= 52)
- result = ((long int) i0 << (j0 - 20)) | (i1 << (j0 - 52));
+ result = ((long int) i0 << (j0 - 20)) | ((long int) i1 << (j0 - 52));
else
{
#if defined FE_INVALID || defined FE_INEXACT