http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48787

--- Comment #3 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> 2011-04-29 
05:59:45 UTC ---
A tentative patch:

Index: write_float.def
===================================================================
--- write_float.def    (revision 172909)
+++ write_float.def    (working copy)
@@ -289,8 +289,9 @@
     }
   else if (nbefore + nafter < ndigits)
     {
-      ndigits = nbefore + nafter;
-      i = ndigits;
+      i = ndigits = nbefore + nafter;
+      if (d == 0 && digits[1] == '0')
+    goto skip;
       if (digits[i] >= rchar)
     {
       /* Propagate the carry.  */

Reply via email to