From 9014618cb9a6101dbd31f38a9e83d839da868934 Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Fri, 23 Feb 2007 05:43:16 +0000 Subject: [PATCH] re PR fortran/30910 ([Regression 4.2, 4.3] Gfortran: ES format not quite right...) 2007-02-22 Jerry DeLisle PR libgfortran/30910 * io/write.c (output_float): Add condition of format F only for special case rounding with zero precision. From-SVN: r122250 --- libgfortran/ChangeLog | 6 ++++++ libgfortran/io/write.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 695cf9411e8..11a2125832f 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2007-02-22 Jerry DeLisle + + PR libgfortran/30910 + * io/write.c (output_float): Add condition of format F only for + special case rounding with zero precision. + 2007-02-19 Thomas Koenig PR libfortran/30533 diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c index 9ff48049dac..2a81d27b8a9 100644 --- a/libgfortran/io/write.c +++ b/libgfortran/io/write.c @@ -488,7 +488,7 @@ output_float (st_parameter_dt *dtp, const fnode *f, GFC_REAL_LARGEST value) value = -value; /* Special case when format specifies no digits after the decimal point. */ - if (d == 0) + if (d == 0 && ft == FMT_F) { if (value < 0.5) value = 0.0;