blob: 9a956ee922d5528ba2947a3aab6285264b5f91d1 [file] [log] [blame]
! { dg-do run }
program pr88776
implicit none
character(*), parameter :: file = "pr88776.dat"
type t_chan
integer :: ichan = -1
character(len=8) :: flag = ''
integer :: band = -1
end type t_chan
type(t_chan) :: chan
namelist /NML/ chan
open (11,file=file)
write(11,'(a)') trim("&nml chan = 1 '#1 ' 10 /")
write(11,'(a)') trim("&nml chan = 2 '#2 ' 42.36/")
write(11,'(a)') trim("&nml chan = 3 '#3 ' 30 /")
close(11)
call read (unit=10) ! No problem
call read (unit=5) ! problem, now fixed
open (11,file=file)
close (11, status="delete")
contains
subroutine read (unit)
integer, intent(in) :: unit
integer :: stat
open (unit, file=file, action="read")
chan = t_chan(-1,'',-1)
stat = 0
read (unit, nml=NML, iostat=stat)
if (stat /= 0) stop 1
chan = t_chan(-1,'',-1)
read (unit, nml=NML, iostat=stat)
if (stat == 0) stop 2
if (chan% ichan /= 2) then
stop 3
end if
close (unit)
end subroutine read
end program pr88776