re PR libfortran/47567 (Wrong output for small absolute values with F editing)
authorJerry DeLisle <jvdelisle@gcc.gnu.org>
Thu, 24 Feb 2011 04:52:00 +0000 (04:52 +0000)
committerJerry DeLisle <jvdelisle@gcc.gnu.org>
Thu, 24 Feb 2011 04:52:00 +0000 (04:52 +0000)
2011-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/47567
* io/write_float.def (output_float): Remove special case handling of
zero with width 1.

From-SVN: r170458

libgfortran/ChangeLog
libgfortran/io/write_float.def

index bed097214581930abae7e0c0762b6e6d20697659..1de3474efa88a0a4b83bc82907009f0153f1d009 100644 (file)
@@ -1,3 +1,9 @@
+2011-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/47567
+       * io/write_float.def (output_float): Remove special case handling of
+       zero with width 1.
+
 2011-02-23  Janne Blomqvist  <jb@gcc.gnu.org>
            Jerry DeLisle    <jvdelisle@gcc.gnu.org>
 
index 13738190b089dffc91b3f7e8176dd72895178632..613ffe0a6beec30a84b63c3b368e182829137e50 100644 (file)
@@ -117,25 +117,6 @@ output_float (st_parameter_dt *dtp, const fnode *f, char *buffer, size_t size,
       /* Handle special cases.  */
       if (w == 0)
        w = d + (sign != S_NONE ? 2 : 1) + (d == 0 ? 1 : 0);
-
-      /* For this one we choose to not output a decimal point.
-        F95 10.5.1.2.1  */
-      if (w == 1 && ft == FMT_F)
-       {
-         out = write_block (dtp, w);
-         if (out == NULL)
-           return FAILURE;
-
-         if (unlikely (is_char4_unit (dtp)))
-           {
-             gfc_char4_t *out4 = (gfc_char4_t *) out;
-             *out4 = '0';
-             return SUCCESS;
-           }
-
-         *out = '0';
-         return SUCCESS;
-       }
     }
 
   /* Normalize the fractional component.  */