diff options
author | Paul Brook <paul@codesourcery.com> | 2004-10-04 15:32:13 +0000 |
---|---|---|
committer | Paul Brook <pbrook@gcc.gnu.org> | 2004-10-04 15:32:13 +0000 |
commit | f3e41701124d2c5a838c28b99bbc4d8fd69e381e (patch) | |
tree | d084eaa8c0a3ce4ee66277e81d81e30e4e3162f3 /gcc | |
parent | 15a7ee2932a7cd29a99772a01c07182f1f1f2bf0 (diff) | |
download | gcc-f3e41701124d2c5a838c28b99bbc4d8fd69e381e.zip gcc-f3e41701124d2c5a838c28b99bbc4d8fd69e381e.tar.gz gcc-f3e41701124d2c5a838c28b99bbc4d8fd69e381e.tar.bz2 |
re PR libfortran/17706 (reading a value of 0.0 gives a value of -0.0)
2004-10-04 Paul Brook <paul@codesourcery.com>
Bud Davis <bdavis9659@comcast.net>
PR fortran/17706
PR fortran/16434
* io/format.c (parse_format_list): Set repeat count for S, SP, SS,
BN and BZ formats.
* io/write.c (output_float): Don't output minus zero.
libgfortran/
* gfortran/pr17706.f90: New test.
* gfortran.dg/g77/f77-edit-s-out.f: Remove xfail.
Co-Authored-By: Bud Davis <bdavis9659@comcast.net>
From-SVN: r88512
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr17706.f90 | 24 |
2 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3f54500..d6c26df 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2004-10-04 Paul Brook <paul@codesourcery.com> + Bud Davis <bdavis9659@comcast.net> + + PR fortran/17706 + PR fortran/16434 + * gfortran/pr17706.f90: New test. + * gfortran.dg/g77/f77-edit-s-out.f: Remove xfail. + 2004-10-04 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> * gfortran.dg/pr17612.f90: New test. diff --git a/gcc/testsuite/gfortran.dg/pr17706.f90 b/gcc/testsuite/gfortran.dg/pr17706.f90 new file mode 100644 index 0000000..f678736 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr17706.f90 @@ -0,0 +1,24 @@ +! { dg-do run } +! PR17706 +! this is a libgfortran test +! output value -0.00 is not standard compliant +! derived from NIST F77 test FM406, with extra bits added. +program pr17706 + implicit none + character(len=10) :: s + character(len=10), parameter :: x = "xxxxxxxxxx" + real, parameter :: small = -0.0001 + + s = x + write (s, '(F4.1)') small + ! The plus is optional. We choose not to display it. + if (s .ne. " 0.0") call abort + + s = x + write (s, '(SS,F4.1)') small + if (s .ne. " 0.0") call abort + + s = x + write (s, '(SP,F4.1)') small + if (s .ne. "+0.0") call abort +end program |