OSDN Git Service

2009-04-20 Tobias Burnus <burnus@net-b.de>
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Apr 2009 22:19:25 +0000 (22:19 +0000)
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Apr 2009 22:19:25 +0000 (22:19 +0000)
        PR fortran/39811
        * scanner.c (load_line): Fix bogus "&" compile-time diagnostic.

2009-04-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/39811
        * gfortran.dg/continuation_11.f90: New test.

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

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

index d230333..6a2cd5f 100644 (file)
@@ -1,3 +1,8 @@
+2009-04-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/39811
+       * scanner.c (load_line): Fix bogus "&" compile-time diagnostic.
+
 2009-04-20  Paul Thomas  <pault@gcc.gnu.org>
 
        PR fortran/39800
index 1e7ec96..cff9883 100644 (file)
@@ -1404,7 +1404,10 @@ load_line (FILE *input, gfc_char_t **pbuf, int *pbuflen, const int *first_char)
       if (c == '&')
        {
          if (seen_ampersand)
-           seen_ampersand = 0;
+           {
+             seen_ampersand = 0;
+             seen_printable = 1;
+           }
          else
            seen_ampersand = 1;
        }
index 1b0914c..8eea619 100644 (file)
@@ -1,3 +1,8 @@
+2009-04-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/39811
+       * gfortran.dg/continuation_11.f90: New test.
+
 2009-04-21  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
 
        PR c++/13358
@@ -9,7 +14,7 @@
        * g++.dg/warn/pr13358-3.C: New.
        * g++.dg/warn/pr13358-4.C: New.
 
-2009-04-20  Andrew Pinski <andrew_pinski@playstation.sony.com>
+2009-04-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>
 
        * gcc.dg/framework-2.c: Fix up for non existent includes
        being fatal errors now.
diff --git a/gcc/testsuite/gfortran.dg/continuation_11.f90 b/gcc/testsuite/gfortran.dg/continuation_11.f90
new file mode 100644 (file)
index 0000000..d8cd46b
--- /dev/null
@@ -0,0 +1,15 @@
+! { dg-do run }
+! { dg-options "-Wall -pedantic" }
+! Before a bogus warning was printed
+!
+! PR fortran/39811
+!
+implicit none
+character(len=70) :: str
+write(str,'(a)') 'Print rather a lot of ampersands &&&&&
+   &&&&&
+   &&&&&'
+if (len(trim(str)) /= 44 &
+    .or. str /= 'Print rather a lot of ampersands &&&&&&&&&&&') &
+    call abort()
+end