https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107635

--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Andre Vehreschild <ve...@gcc.gnu.org>:

https://gcc.gnu.org/g:15847252648ede9d2ad9eea398b7b870f62a2b30

commit r15-7641-g15847252648ede9d2ad9eea398b7b870f62a2b30
Author: Andre Vehreschild <ve...@gcc.gnu.org>
Date:   Wed Jan 22 15:12:29 2025 +0100

    Fortran: Add caf_is_present_on_remote. [PR107635]

    Replace caf_is_present by caf_is_present_on_remote which is using a
    dedicated callback for each object to test on the remote image.

    gcc/fortran/ChangeLog:

            PR fortran/107635

            * coarray.cc (create_allocated_callback): Add creating remote
            side procedure for checking allocation status of coarray.
            (rewrite_caf_allocated): Rewrite ALLOCATED on coarray to use caf
            routine.
            (coindexed_expr_callback): Exempt caf_is_present_on_remote from
            being rewritten again.
            * gfortran.h (enum gfc_isym_id): Add caf_is_present_on_remote
            id.
            * gfortran.texi: Add documentation for caf_is_present_on_remote.
            * intrinsic.cc (add_functions): Add caf_is_present_on_remote
            symbol.
            * trans-decl.cc (gfc_build_builtin_function_decls): Define
            interface of caf_is_present_on_remote.
            * trans-intrinsic.cc (gfc_conv_intrinsic_caf_is_present_remote):
            Translate caf_is_present_on_remote.
            (trans_caf_is_present): Remove.
            (caf_this_image_ref): Remove.
            (gfc_conv_allocated): Take out coarray treatment, because that
            is rewritten to caf_is_present_on_remote now.
            (gfc_conv_intrinsic_function): Handle caf_is_present_on_remote
            calls.
            * trans.h: Add symbol for caf_is_present_on_remote and remove
            old one.

    libgfortran/ChangeLog:

            * caf/libcaf.h (_gfortran_caf_is_present_on_remote): Add new
            function.
            (_gfortran_caf_is_present): Remove deprecated one.
            * caf/single.c (struct accessor_hash_t): Add function ptr access
            for remote side call.
            (_gfortran_caf_is_present_on_remote): Added.
            (_gfortran_caf_is_present): Removed.

    gcc/testsuite/ChangeLog:

            * gfortran.dg/coarray/coarray_allocated.f90: Adapt to new method
            of checking on remote image.
            * gfortran.dg/coarray_lib_alloc_4.f90: Same.

Reply via email to