]> 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 11:55:16 +0000 (13:55 +0200)
committerTobias Burnus <burnus@gcc.gnu.org>
Fri, 19 Aug 2011 11:55:16 +0000 (13:55 +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: r177895

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

index 05aaf29402216bfdbd48e8df3b89aa1c01012cd7..f8b966e7d9269cddcb55a3ab7f50dad2c8ef8e39 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-07-31  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/49920
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 214d78c981bfba29c11f2235154684b8707ab6a4..5168865824f4df87516769b896a8096c9d908c31 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-28  Tobias Burnus  <burnus@net-b.de>
 
        Backport from mainline
index d33eaa6fbea95bbcfe9efbe523fadd624008bc3f..9f24d8df843c8d41e2f2ebefd972c1a53bdf0fb7 100644 (file)
@@ -351,12 +351,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');