]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR fortran/21260 (Conflict between comment and H edit descriptor)
authorTobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
Wed, 11 May 2005 22:32:04 +0000 (00:32 +0200)
committerTobias Schlüter <tobi@gcc.gnu.org>
Wed, 11 May 2005 22:32:04 +0000 (00:32 +0200)
fortran/
PR fortran/21260
* io.c (check_format): Look for literal characters inside
hollerith constant.
testsuite/
PR fortran/21260
* gfortran.dg/hollerith_1.f90: New test.

From-SVN: r99597

gcc/fortran/ChangeLog
gcc/fortran/io.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/hollerith_1.f90 [new file with mode: 0644]

index b87d81474f45fecfbfb66dcf706d949c8144c318..98d9bb328b9f5e63ccf13e971e44812bad202cf4 100644 (file)
@@ -1,3 +1,9 @@
+2005-05-11  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/21260
+       * io.c (check_format): Look for literal characters inside
+       hollerith constant.
+
 2005-05-11  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
 
        * resolve.c (resolve_symbol): Copy 'pointer' and 'dimension'
index 90eb855016d772d06b5db26938bbbe2f087267dc..8dab5f59afd8c67f4bdceee8afcf4393b9bb63a4 100644 (file)
@@ -642,7 +642,7 @@ data_desc:
       {
         while(repeat >0)
          {
-          next_char(0);
+          next_char(1);
           repeat -- ;
          }
       }
index 6e3cae14cc9ed35e47d143eed6d34d8480db90a8..ece62d2eacf87eb35d361951e1bf3ef59bce8e9a 100644 (file)
@@ -1,3 +1,8 @@
+2005-05-11  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/21260
+       * gfortran.dg/hollerith_1.f90: New test.
+
 2005-05-11  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
 
        * gfortran.dg/func_result_2.f90: New test.
diff --git a/gcc/testsuite/gfortran.dg/hollerith_1.f90 b/gcc/testsuite/gfortran.dg/hollerith_1.f90
new file mode 100644 (file)
index 0000000..d6732d4
--- /dev/null
@@ -0,0 +1,11 @@
+! { dg-do run }
+! PR 21260
+! We wrongly interpreted the '!' as the beginning of a comment.
+! Also verifies the functioning of hollerith formatting.
+      character*72 c
+      write(c,8000)
+8000  format(36(2H!)))
+      do i = 1,72,2
+         if (c(i:i+1) /= '!)') call abort
+      end do
+      end