OSDN Git Service

2007-02-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 25 Feb 2007 02:30:14 +0000 (02:30 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 25 Feb 2007 02:30:14 +0000 (02:30 +0000)
PR libgfortran/30918
* gfortran.dg/namelist_26.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122308 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/namelist_26.f90 [new file with mode: 0644]

index bd67ab6..2e9bce6 100644 (file)
@@ -1,3 +1,8 @@
+2007-02-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/30918
+       * gfortran.dg/namelist_26.f90: New test.
+
 2007-02-24  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/30951
diff --git a/gcc/testsuite/gfortran.dg/namelist_26.f90 b/gcc/testsuite/gfortran.dg/namelist_26.f90
new file mode 100644 (file)
index 0000000..2c1b260
--- /dev/null
@@ -0,0 +1,48 @@
+! { 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