summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libgfortran/ChangeLog5
-rw-r--r--libgfortran/io/write.c2
2 files changed, 6 insertions, 1 deletions
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 <jvdelisle@gcc.gnu.org>
+
+ * io/write.c (output_float): Update condition to not error when
+ decimal precision in format specifier is zero.
+
2006-04-01 Francois-Xavier Coudert <coudert@clipper.ens.fr>
* 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. */
OpenPOWER on IntegriCloud