! { dg-do run }
! { dg-add-options ieee }
! PR37077 Implement Internal Unit I/O for character KIND=4
! Test case prepared by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
program char4_iunit_1
  implicit none
  character(kind=4,len=44) :: string
  integer(kind=4) :: i,j
  real(kind=4) :: inf, nan, large

  large = huge(large)
  inf = 2 * large
  nan = 0
  nan = nan / nan

  string = 4_"123456789x"
  write(string,'(a11)') 4_"abcdefg"
  if (string .ne. 4_"    abcdefg                               ") STOP 1
  write(string,*) 12345
  if (string .ne. 4_"       12345                              ") STOP 2
  write(string, '(i6,5x,i8,a5)') 78932, 123456, "abc"
  if (string .ne. 4_" 78932       123456  abc                  ") STOP 3
  write(string, *) .true., .false. , .true.
  if (string .ne. 4_" T F T                                    ") STOP 4
  write(string, *) 1.2345e-06, 4.2846e+10_8
  if (string .ne. 4_"   1.23450002E-06   42846000000.000000      ") STOP 5
  write(string, *) nan, inf
  if (string .ne. 4_"              NaN         Infinity    ") STOP 6
  write(string, '(10x,f3.1,3x,f9.1)') nan, inf
  if (string .ne. 4_"          NaN    Infinity             ") STOP 7
  write(string, *) (1.2, 3.4 )
  if (string .ne. 4_"             (1.20000005,3.40000010)") STOP 8
end program char4_iunit_1
