aboutsummaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2015-02-11 04:29:06 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2015-02-11 04:29:06 +0000
commit80f6181e2727fc2c2d74b603f94d44ae36daae66 (patch)
tree3f420616c8e238cc435efc4215290307d495f229 /libgfortran
parent6dc6e7d061eee043def34086b484b15c53b74a29 (diff)
downloadgcc-80f6181e2727fc2c2d74b603f94d44ae36daae66.zip
gcc-80f6181e2727fc2c2d74b603f94d44ae36daae66.tar.gz
gcc-80f6181e2727fc2c2d74b603f94d44ae36daae66.tar.bz2
re PR fortran/57822 (I/O: "(g0)" wrongly prints "E+0000")
2015-02-10 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/57822 * io/write_float.def (output_float): Apply fix of previous patch to correctly calculate the exponent number of digits and take care of wide character output. From-SVN: r220606
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog7
-rw-r--r--libgfortran/io/write_float.def4
2 files changed, 9 insertions, 2 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 61de246..612ed81 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,10 @@
+2015-02-10 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/57822
+ * io/write_float.def (output_float): Apply fix of previous patch
+ to correctly calculate the exponent number of digits and take
+ care of wide character output.
+
2015-02-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/57822
diff --git a/libgfortran/io/write_float.def b/libgfortran/io/write_float.def
index 434c3df..1bbe016 100644
--- a/libgfortran/io/write_float.def
+++ b/libgfortran/io/write_float.def
@@ -446,7 +446,7 @@ output_float (st_parameter_dt *dtp, const fnode *f, char *buffer, size_t size,
skip:
/* Calculate the format of the exponent field. */
- if (expchar)
+ if (expchar && !(dtp->u.p.g0_no_blanks && e == 0))
{
edigits = 1;
for (i = abs (e); i >= 10; i /= 10)
@@ -632,7 +632,7 @@ output_float (st_parameter_dt *dtp, const fnode *f, char *buffer, size_t size,
}
/* Output the exponent. */
- if (expchar)
+ if (expchar && !(dtp->u.p.g0_no_blanks && e == 0))
{
if (expchar != ' ')
{