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
This commit is contained in:
Paul Brook 2004-10-04 15:32:13 +00:00 committed by Paul Brook
parent 15a7ee2932
commit f3e4170112
3 changed files with 41 additions and 0 deletions

View File

@ -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.

View File

@ -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

View File

@ -1,3 +1,12 @@
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.
2004-10-03 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* intrinsics/abort.c ("libgfortran.h"): Move.