(root)/
gcc-13.2.0/
gcc/
testsuite/
gfortran.dg/
fgetc_2.f90
! Testcase for the FGETC and FPUTC intrinsics
! { dg-do run }
  character(len=5) s
  integer st

  s = "12345"
  open(10,status="scratch")
  write(10,"(A)") "abcde"
  rewind(10)
  st = fgetc(10,s)
  if ((st /= 0) .or. (s /= "a    ")) STOP 1
  st = fgetc(10,s)
  close(10)

  open(10,status="scratch")
  s = "12345"
  st = fputc(10,s)
  if (st /= 0) STOP 2
  st = fputc(10,"2")
  if (st /= 0) STOP 3
  st = fputc(10,"3 ")
  if (st /= 0) STOP 4
  rewind(10)
  st = fgetc(10,s)
  if (s(1:1) /= "1") STOP 5
  st = fgetc(10,s)
  if (s(1:1) /= "2") STOP 6
  st = fgetc(10,s)
  if ((s(1:1) /= "3") .or. (st /= 0)) STOP 7
  st = fgetc(10,s)
  if (st /= -1) STOP 8
  close (10)

! FGETC and FPUTC on units not opened should not work
  st = fgetc(12,s)
  if (st /= -1) STOP 9
  st = fputc(12,s)
  if (st /= -1) STOP 10
  end