aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2011-02-24 05:10:37 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2011-02-24 05:10:37 +0000
commit68f792d0d5c6865aba270fd840700782576baafd (patch)
tree9cd16ba3962affc89530ab23a7f713fbe838621d /gcc
parente7f160c41d62462df1087966987d3382f4c721cd (diff)
downloadgcc-68f792d0d5c6865aba270fd840700782576baafd.zip
gcc-68f792d0d5c6865aba270fd840700782576baafd.tar.gz
gcc-68f792d0d5c6865aba270fd840700782576baafd.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/fmt_f0_1.f9029
2 files changed, 27 insertions, 7 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index dc92141..13d54ed 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+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>
* 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 e4e92b1..dd66f65 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