aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/io
diff options
context:
space:
mode:
authorJanne Blomqvist <jb@gcc.gnu.org>2011-04-29 18:58:20 +0300
committerJanne Blomqvist <jb@gcc.gnu.org>2011-04-29 18:58:20 +0300
commitd785f6a3942dce76df9d59fc90419bb15402ae36 (patch)
tree9a9214a0b0b7510c7bf5329a0be55a09ada5bd0d /libgfortran/io
parentf4c31037a235659024062506d8e07640a7165662 (diff)
downloadgcc-d785f6a3942dce76df9d59fc90419bb15402ae36.zip
gcc-d785f6a3942dce76df9d59fc90419bb15402ae36.tar.gz
gcc-d785f6a3942dce76df9d59fc90419bb15402ae36.tar.bz2
PR 48488 Fix comments
From-SVN: r173169
Diffstat (limited to 'libgfortran/io')
-rw-r--r--libgfortran/io/write.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c
index bf02ad8..40f4112 100644
--- a/libgfortran/io/write.c
+++ b/libgfortran/io/write.c
@@ -1456,10 +1456,15 @@ set_fnode_default (st_parameter_dt *dtp, fnode *f, int length)
break;
}
}
-/* Output a real number with default format.
- This is 1PG14.7E2 for REAL(4), 1PG23.15E3 for REAL(8),
- 1PG28.19E4 for REAL(10) and 1PG43.34E4 for REAL(16). */
-// FX -- FIXME: should we change the default format for __float128-real(16)?
+
+/* Output a real number with default format. This is 1PG16.9E2 for
+ REAL(4), 1PG25.17E3 for REAL(8), 1PG30.21E4 for REAL(10) and
+ 1PG45.36E4 for REAL(16). The exception is that the Fortran standard
+ requires outputting an extra digit when the scale factor is 1 and
+ when the magnitude of the value is such that E editing is
+ used. However, gfortran compensates for this, and thus for list
+ formatted the same number of significant digits is generated both
+ when using F and E editing. */
void
write_real (st_parameter_dt *dtp, const char *source, int length)
@@ -1472,6 +1477,8 @@ write_real (st_parameter_dt *dtp, const char *source, int length)
dtp->u.p.scale_factor = org_scale;
}
+/* Similar to list formatted REAL output, for kPG0 where k > 0 we
+ compensate for the extra digit. */
void
write_real_g0 (st_parameter_dt *dtp, const char *source, int length, int d)