Commit 68f792d0 by Jerry DeLisle

re PR libfortran/47567 (Wrong output for small absolute values with F editing)

2011-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/47567
	* gfortran.dg/fmt_f0_1.f90: Update test.

From-SVN: r170461
parent e7f160c4
2011-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/47567
* gfortran.dg/fmt_f0_1.f90: Update test.
2011-02-23 Jason Merrill <jason@redhat.com> 2011-02-23 Jason Merrill <jason@redhat.com>
* g++.dg/abi/mangle39.C: Adjust parm mangling. * g++.dg/abi/mangle39.C: Adjust parm mangling.
......
! { dg-do run ) ! { dg-do run }
! PR39304 write of 0.0 with F0.3 gives ** ! PR39304 write of 0.0 with F0.3 gives **
! PR47567 Small absolute values.
! Test case developed from case provided by reporter. ! Test case developed from case provided by reporter.
REAL :: x REAL :: x
CHARACTER(80) :: str CHARACTER(80) :: str
...@@ -7,13 +8,13 @@ ...@@ -7,13 +8,13 @@
write (str,'(f0.0)') x write (str,'(f0.0)') x
if (str.ne."0.") call abort if (str.ne."0.") call abort
write (str,'(f0.1)') x write (str,'(f0.1)') x
if (str.ne."0.0") call abort if (str.ne.".0") call abort
write (str,'(f0.2)') x write (str,'(f0.2)') x
if (str.ne."0.00") call abort if (str.ne.".00") call abort
write (str,'(f0.3)') x write (str,'(f0.3)') x
if (str.ne."0.000") call abort if (str.ne.".000") call abort
write (str,'(f0.4)') x write (str,'(f0.4)') x
if (str.ne."0.0000") call abort if (str.ne.".0000") call abort
write (str,'(F0.0)') 0.0 write (str,'(F0.0)') 0.0
if (str.ne."0.") call abort if (str.ne."0.") call abort
write (str,'(F0.0)') 0.001 write (str,'(F0.0)') 0.001
...@@ -23,7 +24,7 @@ ...@@ -23,7 +24,7 @@
write (str,'(F0.0)') 0.1 write (str,'(F0.0)') 0.1
if (str.ne."0.") call abort if (str.ne."0.") call abort
write (str,'(F1.0)') -0.0 write (str,'(F1.0)') -0.0
if (str.ne."0") call abort if (str.ne."*") call abort
write (str,'(F1.0)') 0.001 write (str,'(F1.0)') 0.001
if (str.ne."*") call abort if (str.ne."*") call abort
write (str,'(F1.0)') 0.01 write (str,'(F1.0)') 0.01
...@@ -31,7 +32,7 @@ ...@@ -31,7 +32,7 @@
write (str,'(F1.0)') 0.1 write (str,'(F1.0)') 0.1
if (str.ne."*") call abort if (str.ne."*") call abort
write (str,'(F2.0)') -0.001 write (str,'(F2.0)') -0.001
if (str.ne."*") call abort if (str.ne."**") call abort
write (str,'(F2.0)') -0.01 write (str,'(F2.0)') -0.01
if (str.ne."**") call abort if (str.ne."**") call abort
write (str,'(F2.0)') -0.1 write (str,'(F2.0)') -0.1
...@@ -46,4 +47,18 @@ ...@@ -46,4 +47,18 @@
if (str.ne."-.00") call abort if (str.ne."-.00") call abort
write (str,'(F0.3)') -0.0 write (str,'(F0.3)') -0.0
if (str.ne."-.000") call abort if (str.ne."-.000") call abort
write (str,'(F3.0)') -0.0
if (str.ne."-0.") call abort
write (str,'(F2.0)') -0.0
if (str.ne."**") call abort
write (str,'(F1.0)') -0.0
if (str.ne."*") call abort
write (str,'(F0.1)') -0.0
if (str.ne."-.0") call abort
write (str,'(F3.1)') -0.0
if (str.ne."-.0") call abort
write (str,'(F2.1)') -0.0
if (str.ne."**") call abort
write (str,'(F1.1)') -0.0
if (str.ne."*") call abort
END END
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment