diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/read_float_1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/read_float_1.f90 | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/read_float_1.f90 b/gcc/testsuite/gfortran.dg/read_float_1.f90 new file mode 100644 index 000000000..0848ee675 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/read_float_1.f90 @@ -0,0 +1,14 @@ +! { dg-do run } +! { dg-options "-std=legacy" } +! +! PR18218 +! The IO library has an algorithm that involved repeated multiplication by 10, +! resulting in introducing large cumulative floating point errors. +program foo + character*20 s + real(kind=8) d + s = "-.18774312893273 " + read(unit=s, fmt='(g20.14)') d + if (d + 0.18774312893273d0 .gt. 1d-13) call abort +end program + |