aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2007-02-25 02:30:14 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2007-02-25 02:30:14 +0000
commit7aa96f9c1bd352f16c01c24727b99ad6d53a6926 (patch)
treefc01010af57dc2678ba2cdd97d27bac85661f76c /gcc
parent4f8d744edbce76b1b6c91989b701caf95811dc12 (diff)
downloadgcc-7aa96f9c1bd352f16c01c24727b99ad6d53a6926.zip
gcc-7aa96f9c1bd352f16c01c24727b99ad6d53a6926.tar.gz
gcc-7aa96f9c1bd352f16c01c24727b99ad6d53a6926.tar.bz2
re PR libfortran/30918 (Failure to skip commented out NAMELIST)
2007-02-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/30918 * gfortran.dg/namelist_26.f90: New test. From-SVN: r122308
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_26.f9048
2 files changed, 53 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index bd67ab6..2e9bce6 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
index 0000000..2c1b260
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/namelist_26.f90
@@ -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