From 5eb90a1cbc822af1f2d9d8d82435d73d568f7d5f Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Tue, 4 Apr 2006 02:50:23 +0000 Subject: [PATCH] write.c (output_float): Update condition to not error when decimal precision in format specifier is zero. 2006-04-03 Jerry DeLisle * io/write.c (output_float): Update condition to not error when decimal precision in format specifier is zero. From-SVN: r112656 --- libgfortran/ChangeLog | 5 +++++ libgfortran/io/write.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index e3c5bbb5aad..280f520af31 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,8 @@ +2006-04-03 Jerry DeLisle + + * io/write.c (output_float): Update condition to not error when + decimal precision in format specifier is zero. + 2006-04-01 Francois-Xavier Coudert * config/fpu-387.h: Use previously added SSE code in all diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c index edd2933c3de..39192dde7cd 100644 --- a/libgfortran/io/write.c +++ b/libgfortran/io/write.c @@ -473,7 +473,7 @@ output_float (st_parameter_dt *dtp, const fnode *f, GFC_REAL_LARGEST value) ndigits - 1, value); /* Check the resulting string has punctuation in the correct places. */ - if (buffer[2] != '.' || buffer[ndigits + 2] != 'e') + if (d != 0 && (buffer[2] != '.' || buffer[ndigits + 2] != 'e')) internal_error (&dtp->common, "printf is broken"); /* Read the exponent back in. */