diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2015-02-11 04:29:06 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2015-02-11 04:29:06 +0000 |
commit | 80f6181e2727fc2c2d74b603f94d44ae36daae66 (patch) | |
tree | 3f420616c8e238cc435efc4215290307d495f229 /libgfortran/io/write_float.def | |
parent | 6dc6e7d061eee043def34086b484b15c53b74a29 (diff) | |
download | gcc-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/io/write_float.def')
-rw-r--r-- | libgfortran/io/write_float.def | 4 |
1 files changed, 2 insertions, 2 deletions
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 != ' ') { |