aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2007-08-31 18:01:57 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2007-08-31 18:01:57 +0200
commit5e18375c6ea2513c5a171f817966f11ee0af9b50 (patch)
treeeade0fc7ddfcdf115a8e3a1e39e6ac28b0a6ae90
parent75b226408d2c03ebf1e2e15fa9fb93fcd7a2393d (diff)
downloadgcc-5e18375c6ea2513c5a171f817966f11ee0af9b50.zip
gcc-5e18375c6ea2513c5a171f817966f11ee0af9b50.tar.gz
gcc-5e18375c6ea2513c5a171f817966f11ee0af9b50.tar.bz2
re PR fortran/33232 (Diagnose comma in "read()," and "write(),")
2007-08-31 Tobias Burnus <burnus@net-b.de> PR fortran/33232 * io.c (match_io): Also diagnose extra comma for READ. 2007-08-31 Tobias Burnus <burnus@net-b.de> PR fortran/33232 * gfortran.dg/eor_handling_2.f90: Add dg-warnings. * gfortran.dg/read_1.f90: New. From-SVN: r127997
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/io.c5
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gfortran.dg/eor_handling_2.f906
-rw-r--r--gcc/testsuite/gfortran.dg/read_1.f909
5 files changed, 25 insertions, 6 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 629859f..9e8abea 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2007-08-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/33232
+ * io.c (match_io): Also diagnose extra comma for READ.
+
2007-08-31 Joseph Myers <joseph@codesourcery.com>
* intrinsic.texi (LGAMMA): Remove empty @cindex line.
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c
index ef1b88e..1ecea88 100644
--- a/gcc/fortran/io.c
+++ b/gcc/fortran/io.c
@@ -2975,9 +2975,8 @@ get_io_list:
/* Optional leading comma (non-standard). */
if (!comma_flag
&& gfc_match_char (',') == MATCH_YES
- && k == M_WRITE
- && gfc_notify_std (GFC_STD_GNU, "Extension: Comma before output "
- "item list at %C is an extension") == FAILURE)
+ && gfc_notify_std (GFC_STD_GNU, "Extension: Comma before i/o "
+ "item list at %C") == FAILURE)
return MATCH_ERROR;
io_code = NULL;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 82d3f3a..ea3bd82 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2007-08-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/33232
+ * gfortran.dg/eor_handling_2.f90: Add dg-warnings.
+ * gfortran.dg/read_1.f90: New.
+
2007-08-31 Paolo Carlini <pcarlini@suse.de>
PR c++/33210
diff --git a/gcc/testsuite/gfortran.dg/eor_handling_2.f90 b/gcc/testsuite/gfortran.dg/eor_handling_2.f90
index 5eb62f8..9ae5638 100644
--- a/gcc/testsuite/gfortran.dg/eor_handling_2.f90
+++ b/gcc/testsuite/gfortran.dg/eor_handling_2.f90
@@ -4,10 +4,10 @@
program main
character(len=1) c1(10),c2(10)
open(77,status='scratch')
- write(77,'(A)') 'Line 1','Line 2','Line 3'
+ write(77,'(A)'), 'Line 1','Line 2','Line 3' ! { dg-warning "Comma before i/o item list" }
rewind(77)
- read(77,'(10A1)'), c1
- read(77,'(10A1)'), c2
+ read(77,'(10A1)'), c1 ! { dg-warning "Comma before i/o item list" }
+ read(77,'(10A1)'), c2 ! { dg-warning "Comma before i/o item list" }
if (c1(1) /= 'L' .or. c2(1) /= 'L') call abort
close(77)
end program main
diff --git a/gcc/testsuite/gfortran.dg/read_1.f90 b/gcc/testsuite/gfortran.dg/read_1.f90
new file mode 100644
index 0000000..27f2a11
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/read_1.f90
@@ -0,0 +1,9 @@
+! { dg-do compile }
+!
+! Cf. PR fortran/33232
+program test
+ implicit none
+ integer :: a
+ READ *, a
+ READ '(i3)', a
+end program test