]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR fortran/50109 (Formatted namelist read with multiple "!" fails with...
authorTobias Burnus <burnus@net-b.de>
Fri, 19 Aug 2011 09:16:03 +0000 (11:16 +0200)
committerTobias Burnus <burnus@gcc.gnu.org>
Fri, 19 Aug 2011 09:16:03 +0000 (11:16 +0200)
2011-08-19  Tobias Burnus  <burnus@net-b.de>

        Backport from mainline
        2011-08-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50109
        * io/list_read.c (eat_separator): Fix skipping over "!" lines.

2011-08-19  Tobias Burnus  <burnus@net-b.de>

        Backport from mainline
        2011-08-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50109
        * gfortran.dg/namelist_73.f90: New.

From-SVN: r177893

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/namelist_73.f90 [new file with mode: 0644]
libgfortran/ChangeLog
libgfortran/io/list_read.c

index 040c6b8c2604997e268274b6fbb4b55dcc989cc8..69d2ebf4321a9dfda6a157a8e7b44200eacf8f79 100644 (file)
@@ -1,3 +1,11 @@
+2011-08-19  Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline
+       2011-08-18  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/50109
+       * gfortran.dg/namelist_73.f90: New.
+
 2011-08-16  Paul Thomas  <pault@gcc.gnu.org>
 
        PR fortran/42051
diff --git a/gcc/testsuite/gfortran.dg/namelist_73.f90 b/gcc/testsuite/gfortran.dg/namelist_73.f90
new file mode 100644 (file)
index 0000000..8fc88aa
--- /dev/null
@@ -0,0 +1,28 @@
+! { dg-do run }
+!
+! PR fortran/50109
+!
+! Contributed by Jim Hanson
+!
+      program namelist_test
+
+      integer nfp
+      namelist /indata/ nfp
+
+      nfp = 99
+      open(unit=4, status='scratch')
+      write(4,'(a)') '$indata'
+      write(4,'(a)') 'NFP = 5,'
+      write(4,'(a)') "!  "
+      write(4,'(a)') "! "
+      write(4,'(a)') "!  "
+      write(4,'(a)') '/'
+
+      rewind(4)
+      read (4,nml=indata)
+      close(4)
+
+!      write(*,*) nfp
+      if (nfp /= 5) call abort()
+
+      end
index dfd286fe639d46375544a12ba302582768dde607..a2da9b235d332669e577454be7cf31810a52abb6 100644 (file)
@@ -1,3 +1,11 @@
+2011-08-19  Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline
+       2011-08-18  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/50109
+       * io/list_read.c (eat_separator): Fix skipping over "!" lines.
+
 2011-07-27  Tobias Burnus  <burnus@net-b.de>
 
        Backport from mainline
index 14a0620b3370dece5d1aa8ab3fd82329c33ca16e..a6a895a4e6c118d9b627be60422967231bf267c7 100644 (file)
@@ -353,12 +353,7 @@ eat_separator (st_parameter_dt *dtp)
              if (c == '!')
                {
                  eat_line (dtp);
-                 c = next_char (dtp);
-                 if (c == '!')
-                   {
-                     eat_line (dtp);
-                     c = next_char (dtp);
-                   }
+                 c = '\n';
                }
            }
          while (c == '\n' || c == '\r' || c == ' ' || c == '\t');