read_float_1.f90   [plain text]


! { dg-do run }
! 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*8 d
  s = "-.18774312893273    "
  read(unit=s, fmt='(g20.14)') d
  if (d + 0.18774312893273d0 .gt. 1d-13) call abort
end program