https://gcc.gnu.org/g:cb4b73da237153871fb840a3a31a79354933a8bb

commit cb4b73da237153871fb840a3a31a79354933a8bb
Author: Jerry DeLisle <jvdeli...@gcc.gnu.org>
Date:   Tue Jul 29 15:49:57 2025 -0700

    Fortran: Andre's tweak
    
    gcc/fortran/ChangeLog:
    
            * coarray.cc (check_add_new_component): Don't do addition checks.

Diff:
---
 gcc/fortran/coarray.cc | 16 ----------------
 1 file changed, 16 deletions(-)

diff --git a/gcc/fortran/coarray.cc b/gcc/fortran/coarray.cc
index c611b5399687..b3271e56ad20 100644
--- a/gcc/fortran/coarray.cc
+++ b/gcc/fortran/coarray.cc
@@ -696,22 +696,6 @@ check_add_new_component (gfc_symbol *type, gfc_expr *e, 
gfc_symbol *add_data)
            check_add_new_component (type, actual->expr, add_data);
          break;
        case EXPR_FUNCTION:
-         if ((e->symtree->n.sym->attr.pure
-              && e->symtree->n.sym->attr.elemental)
-             || (e->value.function.isym && e->value.function.isym->pure
-                 && e->value.function.isym->elemental))
-           {
-             /* Only allow pure and elemental function calls in a coarray
-                accessor, because all other may have side effects or access
-                pointers, which may not be possible in the accessor running on
-                another host.  */
-             for (gfc_actual_arglist *actual = e->value.function.actual;
-                  actual; actual = actual->next)
-               check_add_new_component (type, actual->expr, add_data);
-           }
-         else
-           /* Extract the expression, evaluate it and add a temporary with its
-              value to the helper structure.  */
            check_add_new_comp_handle_array (e, type, add_data);
          break;
        case EXPR_VARIABLE:

Reply via email to