diff options
author | tobi <tobi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-03-29 17:15:48 +0000 |
---|---|---|
committer | tobi <tobi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-03-29 17:15:48 +0000 |
commit | 8581350b5a622b702a271adfa930e49e86ff66b3 (patch) | |
tree | 932f0cbc2ec95ee8d7f4af821c8414255f18bcaa /gcc/fortran/trans.c | |
parent | 40513f402264c4267e81fe80911296d0977eaa16 (diff) | |
download | gcc-8581350b5a622b702a271adfa930e49e86ff66b3.tar.gz |
fortran/
PR fortran/38507
* gfortran.h (gfc_st_label): Fix comment.
(gfc_exec_op): Add statement code EXEC_END_BLOCK for end of block.
* parse.c (accept_statement): Use EXEC_END_BLOCK for END IF and
END SELECT with labels.
(check_do_closure): Fix formatting.
(parse_do_block): Fix typo in error message.
* resolve.c (code_stack): Remove tail member. Update comment to
new use of reachable_labels.
(reachable_labels): Rename to ...
(find_reachable_labels): ... this. Overhaul. Update preceding
comment.
(resolve_branch): Fix comment preceding function. Rewrite.
(resolve_code): Update call to find_reachable_labels. Add code to
deal with EXEC_END_BLOCK.
* st.c (gfc_free_statement): Add code to deal with EXEC_END_BLOCK.
* trans.c (gfc_trans_code): Likewise.
testsuite/
* do_4.f: New.
* goto_2.f90: Correct expected warnings.
* goto_4.f90: Likewise.
* goto_5.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145245 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/trans.c')
-rw-r--r-- | gcc/fortran/trans.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c index 3dc2d8f4442..827f54eaa20 100644 --- a/gcc/fortran/trans.c +++ b/gcc/fortran/trans.c @@ -1,6 +1,6 @@ /* Code translation -- generate GCC trees from gfc_code. - Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software - Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free + Software Foundation, Inc. Contributed by Paul Brook This file is part of GCC. @@ -1055,6 +1055,7 @@ gfc_trans_code (gfc_code * code) switch (code->op) { case EXEC_NOP: + case EXEC_END_BLOCK: res = NULL_TREE; break; |