diff options
author | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2005-07-03 01:46:12 +0000 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2005-07-03 01:46:12 +0000 |
commit | 365ff3b926415e416da5fc0ab9b31a17ec52275f (patch) | |
tree | 2f66e3638119d70e199dc4b0264c88ca5e8fb713 /gcc/fortran/io.c | |
parent | 7f3b2bdaaffb46e225d7652507df297bcbf3b647 (diff) | |
download | gcc-365ff3b926415e416da5fc0ab9b31a17ec52275f.zip gcc-365ff3b926415e416da5fc0ab9b31a17ec52275f.tar.gz gcc-365ff3b926415e416da5fc0ab9b31a17ec52275f.tar.bz2 |
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
Diffstat (limited to 'gcc/fortran/io.c')
-rw-r--r-- | gcc/fortran/io.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c index c5ceb06..ef51308 100644 --- a/gcc/fortran/io.c +++ b/gcc/fortran/io.c @@ -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; |