diff options
author | Mikael Morin <mikael.morin@sfr.fr> | 2011-08-19 00:42:38 +0200 |
---|---|---|
committer | Mikael Morin <mikael@gcc.gnu.org> | 2011-08-18 22:42:38 +0000 |
commit | df1a69f6a85e6c82e206388daa459f06d2e92876 (patch) | |
tree | cd909034298135072ec57ac3e175166acb6dba01 /gcc/fortran/trans.c | |
parent | a7ad08aef73fd2c4219a31a419e41ce2e5408a09 (diff) | |
download | gcc-df1a69f6a85e6c82e206388daa459f06d2e92876.zip gcc-df1a69f6a85e6c82e206388daa459f06d2e92876.tar.gz gcc-df1a69f6a85e6c82e206388daa459f06d2e92876.tar.bz2 |
re PR fortran/50071 (gfortran does not distinguish labels in different type scoping units)
2011-08-19 Mikael Morin <mikael.morin@sfr.fr>
PR fortran/50071
* gfortran.h (gfc_exec_op): New constant EXEC_END_NESTED_BLOCK.
* parse.c (check_statement_label): Accept ST_END_BLOCK and
ST_END_ASSOCIATE as valid branch target.
(accept_statement): Change EXEC_END_BLOCK to EXEC_END_NESTED_BLOCK.
Add EXEC_END_BLOCK code in the ST_END_BLOCK and ST_END_ASSOCIATE cases.
* resolve.c (find_reachable_labels): Change EXEC_END_BLOCK to
EXEC_END_NESTED_BLOCK.
(resolve_branch): Ditto.
(resolve_code): Add EXEC_END_NESTED_BLOCK case.
* st.c (gfc_free_statement): Ditto.
* trans.c (trans_code): Ditto.
2011-08-19 Mikael Morin <mikael.morin@sfr.fr>
PR fortran/50071
* gfortran.dg/end_block_label_1.f90: New test.
* gfortran.dg/end_associate_label_1.f90: New test.
From-SVN: r177885
Diffstat (limited to 'gcc/fortran/trans.c')
-rw-r--r-- | gcc/fortran/trans.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c index 4c97cfd..4a71c43 100644 --- a/gcc/fortran/trans.c +++ b/gcc/fortran/trans.c @@ -1188,6 +1188,7 @@ trans_code (gfc_code * code, tree cond) { case EXEC_NOP: case EXEC_END_BLOCK: + case EXEC_END_NESTED_BLOCK: case EXEC_END_PROCEDURE: res = NULL_TREE; break; |