(root)/
gcc-13.2.0/
gcc/
testsuite/
gfortran.dg/
namelist_38.f90
! { dg-do run }
! PR33253 namelist: reading back a string, also fixed writing with delimiters.
! Test case modified from that of the PR by
! Jerry DeLisle  <jvdelisle@gcc.gnu.org>
program main
  implicit none
  character(len=3) :: a
  character(25) :: b
  namelist /foo/ a

  open(10, status="scratch", delim="quote")
  a = 'a"a'
  write(10,foo) 
  rewind 10
  a = ""
  read (10,foo) ! This gave a runtime error before the patch.
  if (a.ne.'a"a') STOP 1
  close (10)

  open(10, status="scratch", delim="apostrophe")
  a = "a'a"
  write(10,foo) 
  rewind 10
  a = ""
  read (10,foo)
  if (a.ne."a'a") STOP 2
  close (10)

  open(10, status="scratch", delim="none")
  a = "a'a"
  write(10,foo) 
  rewind (10)
  read(10,"(a)") b
  if (b .ne. "&FOO") STOP 3
  read(10,"(a)") b
  if (b .ne. " A=a'a") STOP 4
  read(10,"(a)") b
  if (b .ne. " /") STOP 5
  close(10)
end program main