aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/st.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2011-09-08 08:38:13 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2011-09-08 08:38:13 +0200
commit8c6a85e33bc6029579949a76acbb0590463d7c8b (patch)
treea509c092472a1fe6cc07cae1c9cd4ebbddb64862 /gcc/fortran/st.c
parent1542d97a4ed360e4874afc04a6d5e8b31c0ce3e3 (diff)
downloadgcc-8c6a85e33bc6029579949a76acbb0590463d7c8b.zip
gcc-8c6a85e33bc6029579949a76acbb0590463d7c8b.tar.gz
gcc-8c6a85e33bc6029579949a76acbb0590463d7c8b.tar.bz2
re PR fortran/44646 ([F08] Implement DO CONCURRENT)
gcc/fortran/ 2011-09-08 Tobias Burnus <burnus@net-b.de> PR fortran/44646 * decl.c (gfc_match_entry, gfc_match_end): Handle * COMP_DO_CONCURRENT. * dump-parse-tree.c (show_code_node): Handle EXEC_DO_CONCURRENT. * gfortran.h (gfc_exec_op): Add EXEC_DO_CONCURRENT. * match.c (gfc_match_critical, match_exit_cycle, * gfc_match_stopcode, lock_unlock_statement, sync_statement, gfc_match_allocate, gfc_match_deallocate, gfc_match_return): Add DO CONCURRENT diagnostic. (gfc_match_do): Match DO CONCURRENT. (match_derived_type_spec, match_type_spec, gfc_free_forall_iterator, match_forall_iterator, match_forall_header, match_simple_forall, gfc_match_forall): Move up in the file. * parse.c (check_do_closure, parse_do_block): Handle do * concurrent. * parse.h (gfc_compile_state): Add COMP_DO_CONCURRENT. * resolve.c (do_concurrent_flag): New global variable. (resolve_function, pure_subroutine, resolve_branch, gfc_resolve_blocks, resolve_code, resolve_types): Add do concurrent diagnostic. * st.c (gfc_free_statement): Handle EXEC_DO_CONCURRENT. * trans-stmt.c (gfc_trans_do_concurrent): New function. (gfc_trans_forall_1): Handle do concurrent. * trans-stmt.h (gfc_trans_do_concurrent): New function * prototype. * trans.c (trans_code): Call it. * frontend-passes.c (gfc_code_walker): Handle * EXEC_DO_CONCURRENT. gcc/testsuite/ 2011-09-08 Tobias Burnus <burnus@net-b.de> PR fortran/44646 * gfortran.dg/do_concurrent_1.f90: New. * gfortran.dg/do_concurrent_2.f90: New. From-SVN: r178677
Diffstat (limited to 'gcc/fortran/st.c')
-rw-r--r--gcc/fortran/st.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/st.c b/gcc/fortran/st.c
index 572baaf..932c942 100644
--- a/gcc/fortran/st.c
+++ b/gcc/fortran/st.c
@@ -178,6 +178,7 @@ gfc_free_statement (gfc_code *p)
be freed. */
break;
+ case EXEC_DO_CONCURRENT:
case EXEC_FORALL:
gfc_free_forall_iterator (p->ext.forall_iterator);
break;