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