blob: dd66f6557e9003d5dbf0d2a6fc02848663e6afc3 [file] [log] [blame]
! { 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
x = 0.0
write (str,'(f0.0)') x
if (str.ne."0.") call abort
write (str,'(f0.1)') x
if (str.ne.".0") call abort
write (str,'(f0.2)') x
if (str.ne.".00") call abort
write (str,'(f0.3)') x
if (str.ne.".000") call abort
write (str,'(f0.4)') x
if (str.ne.".0000") call abort
write (str,'(F0.0)') 0.0
if (str.ne."0.") call abort
write (str,'(F0.0)') 0.001
if (str.ne."0.") call abort
write (str,'(F0.0)') 0.01
if (str.ne."0.") call abort
write (str,'(F0.0)') 0.1
if (str.ne."0.") call abort
write (str,'(F1.0)') -0.0
if (str.ne."*") call abort
write (str,'(F1.0)') 0.001
if (str.ne."*") call abort
write (str,'(F1.0)') 0.01
if (str.ne."*") call abort
write (str,'(F1.0)') 0.1
if (str.ne."*") call abort
write (str,'(F2.0)') -0.001
if (str.ne."**") call abort
write (str,'(F2.0)') -0.01
if (str.ne."**") call abort
write (str,'(F2.0)') -0.1
if (str.ne."**") call abort
write (str,'(F0.2)') 0.0
if (str.ne.".00") call abort
write (str,'(F0.0)') -0.0
if (str.ne."-0.") call abort
write (str,'(F0.1)') -0.0
if (str.ne."-.0") call abort
write (str,'(F0.2)') -0.0
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