diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dbe5cfd4dc8..43077c0cffe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-10-09 Alan Modra + + * libgcc2.c (__floatdisf): Properly cure double rounding. + 2002-10-09 Gabriel Dos Reis PR doc/7484 diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index 8c10689f02c..b1e9edc551c 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);