[Bug fortran/18918] Eventually support Fortran 2008's coarrays [co-arrays]
burnus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu May 26 18:02:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18918
--- Comment #50 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-05-26 17:41:37 UTC ---
Author: burnus
Date: Thu May 26 17:41:34 2011
New Revision: 174301
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174301
Log:
2011-05-26 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* trans-array.c (gfc_conv_array_ref): Handle pointer coarrays.
* trans-decl.c (has_coarray_vars, caf_init_block,
gfor_fndecl_caf_register): New file-global variables.
(gfc_finish_var_decl): Make sure that coarrays in main are static.
(gfc_build_qualified_array): Generate coarray token variable.
(gfc_get_symbol_decl): Don't use a static initializer for coarrays.
(gfc_build_builtin_function_decls): Set gfor_fndecl_caf_register.
(gfc_trans_deferred_vars, gfc_emit_parameter_debug_info): Skip for
static coarrays.
(generate_local_decl): Check for local coarrays.
(create_main_function): SYNC ALL before calling MAIN.
(generate_coarray_sym_init): Register static coarray.
(generate_coarray_init): Generate CAF registering constructor
function.
(gfc_generate_function_code): Call it, if needed, do not create
cgraph twice.
(gfc_generate_module_vars, gfc_process_block_locals): Call
generate_coarray_init.
* trans-types.c (gfc_get_nodesc_array_type): Generate pointers
* for
-fcoarray=lib.
* trans.h (gfor_fndecl_caf_register): New variable.
(lang_type): New element caf_token.
(GFC_TYPE_ARRAY_CAF_TOKEN): New macro.
2011-05-26 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* gfortran.dg/coarray/registering_1.f90: New.
Added:
trunk/gcc/testsuite/gfortran.dg/coarray/registering_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-array.c
trunk/gcc/fortran/trans-decl.c
trunk/gcc/fortran/trans-types.c
trunk/gcc/fortran/trans.h
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-bugs
mailing list