diff options
author | Andre Vehreschild <vehre@gcc.gnu.org> | 2025-02-07 11:25:31 +0100 |
---|---|---|
committer | Andre Vehreschild <vehre@gcc.gnu.org> | 2025-02-20 10:33:54 +0100 |
commit | 8bf0ee8d62b8a08e808344d31354ab713157e15d (patch) | |
tree | a68c67b2929bcfe28f655a54f264f9dde3202589 /gcc/fortran/trans.h | |
parent | 69eb02682b80b84dd0f562f19821c8c8c37ad243 (diff) | |
download | gcc-8bf0ee8d62b8a08e808344d31354ab713157e15d.zip gcc-8bf0ee8d62b8a08e808344d31354ab713157e15d.tar.gz gcc-8bf0ee8d62b8a08e808344d31354ab713157e15d.tar.bz2 |
Fortran: Add transfer_between_remotes [PR107635]
Add the last missing coarray data manipulation routine using remote
accessors.
gcc/fortran/ChangeLog:
PR fortran/107635
* coarray.cc (rewrite_caf_send): Rewrite to
transfer_between_remotes when both sides of the assignment have
a coarray.
(coindexed_code_callback): Prevent duplicate rewrite.
* gfortran.texi: Add documentation for transfer_between_remotes.
* intrinsic.cc (add_subroutines): Add intrinsic symbol for
caf_sendget to allow easy rewrite to transfer_between_remotes.
* trans-decl.cc (gfc_build_builtin_function_decls): Add
prototype for transfer_between_remotes.
* trans-intrinsic.cc (conv_caf_vector_subscript_elem): Mark as
deprecated.
(conv_caf_vector_subscript): Same.
(compute_component_offset): Same.
(conv_expr_ref_to_caf_ref): Same.
(conv_stat_and_team): Extract stat and team from expr.
(gfc_conv_intrinsic_caf_get): Use conv_stat_and_team.
(conv_caf_send_to_remote): Same.
(has_ref_after_cafref): Mark as deprecated.
(conv_caf_sendget): Translate to transfer_between_remotes.
* trans.h: Add prototype for transfer_between_remotes.
libgfortran/ChangeLog:
* caf/libcaf.h: Add prototype for transfer_between_remotes.
* caf/single.c: Implement transfer_between_remotes.
gcc/testsuite/ChangeLog:
* gfortran.dg/coarray_lib_comm_1.f90: Fix up scan_trees.
Diffstat (limited to 'gcc/fortran/trans.h')
-rw-r--r-- | gcc/fortran/trans.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h index 8b76a27..fcb091a 100644 --- a/gcc/fortran/trans.h +++ b/gcc/fortran/trans.h @@ -897,6 +897,7 @@ extern GTY(()) tree gfor_fndecl_caf_register_accessors_finish; extern GTY(()) tree gfor_fndecl_caf_get_remote_function_index; extern GTY(()) tree gfor_fndecl_caf_get_from_remote; extern GTY(()) tree gfor_fndecl_caf_send_to_remote; +extern GTY(()) tree gfor_fndecl_caf_transfer_between_remotes; extern GTY(()) tree gfor_fndecl_caf_sync_all; extern GTY(()) tree gfor_fndecl_caf_sync_memory; |