re PR fortran/20842 (can't use 'END=' in output statement)

PR fortran/20842
	* io.c (match_dt_element): Do not allow END tag in PRINT or
	WRITE statement.
	* gfortran.dg/io_invalid_1.f90: New test.

From-SVN: r101545
This commit is contained in:
François-Xavier Coudert 2005-07-03 01:46:12 +00:00
parent 7f3b2bdaaf
commit 365ff3b926
4 changed files with 29 additions and 5 deletions

View File

@ -1,13 +1,20 @@
2005-07-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR fortran/20842
* io.c (match_dt_element): Do not allow END tag in PRINT or
WRITE statement.
2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
* lang.opt: Remove "." from end of help texts.
2005-07-01 Jerry DeLisle <jvdelisle@verizon.net>
* gfortran.texi: Fix typos and grammar.
* invoke.texi: Fix typos and grammar.
* intrinsic.texi: Add documentaion for eoshift, epsilon, etime, and exit.
Fixed alignment of text for dtime syntax. Fixed a few line lengths.
* gfortran.texi: Fix typos and grammar.
* invoke.texi: Fix typos and grammar.
* intrinsic.texi: Add documentaion for eoshift, epsilon, etime, and
exit. Fixed alignment of text for dtime syntax. Fixed a few line
lengths.
2005-06-25 Jakub Jelinek <jakub@redhat.com>

View File

@ -1643,7 +1643,14 @@ match_dt_element (io_kind k, gfc_dt * dt)
m = match_ltag (&tag_end, &dt->end);
if (m == MATCH_YES)
dt->end_where = gfc_current_locus;
{
if (k == M_WRITE)
{
gfc_error ("END tag at %C not allowed in output statement");
return MATCH_ERROR;
}
dt->end_where = gfc_current_locus;
}
if (m != MATCH_NO)
return m;

View File

@ -1,3 +1,8 @@
2005-07-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR fortran/20842
* gfortran.dg/io_invalid_1.f90: New test.
2005-07-03 Joseph S. Myers <joseph@codesourcery.com>
* gcc.dg/format/gcc_diag-1.c: Update.

View File

@ -0,0 +1,5 @@
! { dg-do compile }
! PR fortran/20842
WRITE(UNIT=6,END=999) 0 ! { dg-error "END tag .* is not compatible with output" }
999 CONTINUE
END