1! { dg-do run } 2! { dg-options "-fno-sign-zero" } 3! PR17706 4! this is a libgfortran test 5! output value -0.00 is not standard compliant 6! derived from NIST F77 test FM406, with extra bits added. 7program pr17706 8 implicit none 9 character(len=10) :: s 10 character(len=10), parameter :: x = "xxxxxxxxxx" 11 real, parameter :: small = -0.0001 12 13 s = x 14 write (s, '(F4.1)') small 15 ! The plus is optional. We choose not to display it. 16 if (s .ne. " 0.0") STOP 1 17 18 s = x 19 write (s, '(SS,F4.1)') small 20 if (s .ne. " 0.0") STOP 2 21 22 s = x 23 write (s, '(SP,F4.1)') small 24 if (s .ne. "+0.0") STOP 3 25end program 26