diff options
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr18025.f90 | 8 | ||||
-rw-r--r-- | libgfortran/ChangeLog | 6 | ||||
-rw-r--r-- | libgfortran/io/write.c | 2 |
4 files changed, 19 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 84a73de14e3..465d516f451 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2005-03-23 Francois-Xavier Coudert <coudert@clipper.ens.fr> + + * pr18025.f90: New test. + 2005-03-23 Dale Johannesen <dalej@apple.com> * gcc.dg/20020312-2.c: Fix for non-PowerPC Darwin. diff --git a/gcc/testsuite/gfortran.dg/pr18025.f90 b/gcc/testsuite/gfortran.dg/pr18025.f90 new file mode 100644 index 00000000000..69a6af6ffa9 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr18025.f90 @@ -0,0 +1,8 @@ +! PR libfortran/18025 <coudert@clipper.ens.fr> +! {dg-do run} + character(len=80) :: c + write(c, "('#',F0.2,'#')") 1.23 + if (c /= '#1.23#') call abort + write(c, "('#',F0.2,'#')") -1.23 + if (c /= '#-1.23#') call abort + end diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index c32ca525b43..a3964b702ff 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2005-02-27 Francois-Xavier Coudert <coudert@clipper.ens.fr> + + PR libfortran/18025 + * write.c (output_float): Handling the "F0.d" format similarly as + commercial compilers. + 2005-03-22 Francois-Xavier Coudert <coudert@clipper.ens.fr> * Makefile.am: Added new files. diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c index 88e5280b338..d22aa344b05 100644 --- a/libgfortran/io/write.c +++ b/libgfortran/io/write.c @@ -537,7 +537,7 @@ output_float (fnode *f, double value, int len) /* Pick a field size if none was specified. */ if (w <= 0) - w = nbefore + nzero + nafter + 2; + w = nbefore + nzero + nafter + (sign != SIGN_NONE ? 2 : 1) /* Create the ouput buffer. */ out = write_block (w); |