aboutsummaryrefslogtreecommitdiff
path: root/gcc/libgcc2.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-10-08 23:50:56 +0000
committerAlan Modra <amodra@gcc.gnu.org>2002-10-09 09:20:56 +0930
commitcef1c1bac1d3418354c1016599b40455505ec599 (patch)
treeafbf85473e30e011b3865a436a01ef061d53aff3 /gcc/libgcc2.c
parentaa53f832ac68acf6b5f8dee96bc1aeb57081fe76 (diff)
downloadgcc-cef1c1bac1d3418354c1016599b40455505ec599.zip
gcc-cef1c1bac1d3418354c1016599b40455505ec599.tar.gz
gcc-cef1c1bac1d3418354c1016599b40455505ec599.tar.bz2
* libgcc2.c (__floatdisf): Properly cure double rounding.
From-SVN: r57965
Diffstat (limited to 'gcc/libgcc2.c')
-rw-r--r--gcc/libgcc2.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c
index 8c10689..b1e9edc 100644
--- a/gcc/libgcc2.c
+++ b/gcc/libgcc2.c
@@ -1091,7 +1091,10 @@ __floatdisf (DWtype u)
&& u < ((DWtype) 1 << DF_SIZE)))
{
if ((UDWtype) u & (REP_BIT - 1))
- u |= REP_BIT;
+ {
+ u &= ~ (REP_BIT - 1);
+ u |= REP_BIT;
+ }
}
}
f = (Wtype) (u >> WORD_SIZE);