From 68f792d0d5c6865aba270fd840700782576baafd Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Thu, 24 Feb 2011 05:10:37 +0000 Subject: [PATCH] re PR libfortran/47567 (Wrong output for small absolute values with F editing) 2011-02-23 Jerry DeLisle PR libgfortran/47567 * gfortran.dg/fmt_f0_1.f90: Update test. From-SVN: r170461 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gfortran.dg/fmt_f0_1.f90 | 29 +++++++++++++++++++------- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index dc92141f800..13d54eda179 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-02-23 Jerry DeLisle + + PR libgfortran/47567 + * gfortran.dg/fmt_f0_1.f90: Update test. + 2011-02-23 Jason Merrill * g++.dg/abi/mangle39.C: Adjust parm mangling. diff --git a/gcc/testsuite/gfortran.dg/fmt_f0_1.f90 b/gcc/testsuite/gfortran.dg/fmt_f0_1.f90 index e4e92b16725..dd66f6557e9 100644 --- a/gcc/testsuite/gfortran.dg/fmt_f0_1.f90 +++ b/gcc/testsuite/gfortran.dg/fmt_f0_1.f90 @@ -1,5 +1,6 @@ -! { dg-do run ) +! { dg-do run } ! PR39304 write of 0.0 with F0.3 gives ** +! PR47567 Small absolute values. ! Test case developed from case provided by reporter. REAL :: x CHARACTER(80) :: str @@ -7,13 +8,13 @@ write (str,'(f0.0)') x if (str.ne."0.") call abort write (str,'(f0.1)') x - if (str.ne."0.0") call abort + if (str.ne.".0") call abort write (str,'(f0.2)') x - if (str.ne."0.00") call abort + if (str.ne.".00") call abort write (str,'(f0.3)') x - if (str.ne."0.000") call abort + if (str.ne.".000") call abort write (str,'(f0.4)') x - if (str.ne."0.0000") call abort + if (str.ne.".0000") call abort write (str,'(F0.0)') 0.0 if (str.ne."0.") call abort write (str,'(F0.0)') 0.001 @@ -23,7 +24,7 @@ write (str,'(F0.0)') 0.1 if (str.ne."0.") call abort write (str,'(F1.0)') -0.0 - if (str.ne."0") call abort + if (str.ne."*") call abort write (str,'(F1.0)') 0.001 if (str.ne."*") call abort write (str,'(F1.0)') 0.01 @@ -31,7 +32,7 @@ write (str,'(F1.0)') 0.1 if (str.ne."*") call abort write (str,'(F2.0)') -0.001 - if (str.ne."*") call abort + if (str.ne."**") call abort write (str,'(F2.0)') -0.01 if (str.ne."**") call abort write (str,'(F2.0)') -0.1 @@ -46,4 +47,18 @@ if (str.ne."-.00") call abort write (str,'(F0.3)') -0.0 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 -- 2.30.2