[Bug fortran/44709] BLOCK and GOTO/EXIT/CYCLE
--- Comment #7 from domob at gcc dot gnu dot org 2010-07-23 09:55 --- Fixed. -- domob at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44709
[Bug fortran/44709] BLOCK and GOTO/EXIT/CYCLE
--- Comment #6 from domob at gcc dot gnu dot org 2010-07-23 09:53 --- Subject: Bug 44709 Author: domob Date: Fri Jul 23 09:53:45 2010 New Revision: 162450 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=162450 Log: 2010-07-23 Daniel Kraft PR fortran/44709 * gfortran.h (gfc_find_symtree_in_proc): New method. * symbol.c (gfc_find_symtree_in_proc): New method. * match.c (match_exit_cycle): Look for loop name also in parent namespaces within current procedure. 2010-07-23 Daniel Kraft PR fortran/44709 * gfortran.dg/exit_1.f08: New test. * gfortran.dg/exit_2.f08: New test. Added: trunk/gcc/testsuite/gfortran.dg/exit_1.f08 trunk/gcc/testsuite/gfortran.dg/exit_2.f08 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/match.c trunk/gcc/fortran/symbol.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44709
[Bug fortran/44709] BLOCK and GOTO/EXIT/CYCLE
--- Comment #5 from domob at gcc dot gnu dot org 2010-07-15 12:31 --- Fixed the clean-up issues. Still remaining is the rejects-valid (2b) of Tobias' original comment. I'll keep on with that. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44709
[Bug fortran/44709] BLOCK and GOTO/EXIT/CYCLE
--- Comment #4 from domob at gcc dot gnu dot org 2010-07-15 12:24 --- Subject: Bug 44709 Author: domob Date: Thu Jul 15 12:23:47 2010 New Revision: 162219 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=162219 Log: 2010-07-15 Daniel Kraft PR fortran/44709 * trans.h (struct gfc_wrapped_block): New struct. (gfc_start_wrapped_block), (gfc_add_init_cleanup): New methods. (gfc_finish_wrapped_block): New method. (gfc_init_default_dt): Add new init code to block rather than returning it. * trans-array.h (gfc_trans_auto_array_allocation): Use gfc_wrapped_block (gfc_trans_dummy_array_bias): Ditto. (gfc_trans_g77_array): Ditto. (gfc_trans_deferred_array): Ditto. * trans.c (gfc_add_expr_to_block): Call add_expr_to_chain. (add_expr_to_chain): New method based on old gfc_add_expr_to_block. (gfc_start_wrapped_block), (gfc_add_init_cleanup): New methods. (gfc_finish_wrapped_block): New method. * trans-array.c (gfc_trans_auto_array_allocation): use gfc_wrapped_block (gfc_trans_g77_array), (gfc_trans_dummy_array_bias): Ditto. (gfc_trans_deferred_array): Ditto. * trans-decl.c (gfc_trans_dummy_character): Ditto. (gfc_trans_auto_character_variable), (gfc_trans_assign_aux_var): Ditto. (init_intent_out_dt): Ditto. (gfc_init_default_dt): Add new init code to block rather than returning it. (gfc_trans_deferred_vars): Use gfc_wrapped_block to collect all init and cleanup code and put it all together. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-array.c trunk/gcc/fortran/trans-array.h trunk/gcc/fortran/trans-decl.c trunk/gcc/fortran/trans.c trunk/gcc/fortran/trans.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44709
[Bug fortran/44709] BLOCK and GOTO/EXIT/CYCLE
--- Comment #3 from domob at gcc dot gnu dot org 2010-07-07 13:05 --- See http://gcc.gnu.org/ml/fortran/2010-07/msg00058.html. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44709
[Bug fortran/44709] BLOCK and GOTO/EXIT/CYCLE
--- Comment #2 from domob at gcc dot gnu dot org 2010-07-04 11:48 --- Mine. -- domob at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |domob at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-07-04 11:48:21 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44709
[Bug fortran/44709] BLOCK and GOTO/EXIT/CYCLE
--- Comment #1 from burnus at gcc dot gnu dot org 2010-06-29 20:03 --- As pointed out by Andrew: One should follow C++ and generate try {} finally{} blocks (TRY_FINALLY_EXPR). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44709