49 lines
1.5 KiB
Fortran
49 lines
1.5 KiB
Fortran
! { dg-do run }
|
|
! PR30918 Failure to skip commented out NAMELIST
|
|
! Before the patch, this read the commented out namelist and iuse would
|
|
! equal 2 when done. Test case from PR.
|
|
program gfcbug58
|
|
implicit none
|
|
integer :: iuse = 0, ios
|
|
integer, parameter :: nmlunit = 10 ! Namelist unit
|
|
!------------------
|
|
! Namelist 'REPORT'
|
|
!------------------
|
|
character(len=12) :: type, use
|
|
integer :: max_proc
|
|
namelist /REPORT/ type, use, max_proc
|
|
!------------------
|
|
! Set up the test file
|
|
!------------------
|
|
open(unit=nmlunit, status="scratch")
|
|
write(nmlunit, '(a)') "!================"
|
|
write(nmlunit, '(a)') "! Namelist REPORT"
|
|
write(nmlunit, '(a)') "!================"
|
|
write(nmlunit, '(a)') "! &REPORT use = 'ignore' / ! Comment"
|
|
write(nmlunit, '(a)') "!"
|
|
write(nmlunit, '(a)') " &REPORT type = 'SYNOP'"
|
|
write(nmlunit, '(a)') " use = 'active'"
|
|
write(nmlunit, '(a)') " max_proc = 20"
|
|
write(nmlunit, '(a)') " /"
|
|
rewind(nmlunit)
|
|
!-------------------------------------
|
|
! Loop to read namelist multiple times
|
|
!-------------------------------------
|
|
do
|
|
!----------------------------------------
|
|
! Preset namelist variables with defaults
|
|
!----------------------------------------
|
|
type = ''
|
|
use = ''
|
|
max_proc = -1
|
|
!--------------
|
|
! Read namelist
|
|
!--------------
|
|
read (nmlunit, nml=REPORT, iostat=ios)
|
|
if (ios /= 0) exit
|
|
iuse = iuse + 1
|
|
end do
|
|
if (iuse /= 1) call abort()
|
|
|
|
end program gfcbug58
|