From 5a30f819c7f84dcee4987b96d7e9d8ea0177fe90 Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Thu, 24 Feb 2011 04:52:00 +0000 Subject: [PATCH] re PR libfortran/47567 (Wrong output for small absolute values with F editing) 2011-02-23 Jerry DeLisle PR libgfortran/47567 * io/write_float.def (output_float): Remove special case handling of zero with width 1. From-SVN: r170458 --- libgfortran/ChangeLog | 6 ++++++ libgfortran/io/write_float.def | 19 ------------------- 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index bed09721458..1de3474efa8 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2011-02-23 Jerry DeLisle + + PR libgfortran/47567 + * io/write_float.def (output_float): Remove special case handling of + zero with width 1. + 2011-02-23 Janne Blomqvist Jerry DeLisle diff --git a/libgfortran/io/write_float.def b/libgfortran/io/write_float.def index 13738190b08..613ffe0a6be 100644 --- a/libgfortran/io/write_float.def +++ b/libgfortran/io/write_float.def @@ -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. */ -- 2.30.2