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

commit c94031aef48700a724d7aa7dfba282c21bbfc395
Author: Mikael Morin <[email protected]>
Date:   Sun Oct 12 14:40:24 2025 +0200

    Correction régression coarray/get_with_fn_parameter.f90

Diff:
---
 gcc/fortran/trans-expr.cc      | 10 +++++++---
 gcc/fortran/trans-intrinsic.cc |  1 -
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc
index 1e4f8d09e26a..c931e798953e 100644
--- a/gcc/fortran/trans-expr.cc
+++ b/gcc/fortran/trans-expr.cc
@@ -6599,9 +6599,13 @@ contiguous_argument (gfc_actual_arglist *arg)
   /* False for intrinsic procedures, the library functions get array
      descriptors as arguments.  */
   if (expr
-      && expr->expr_type == EXPR_FUNCTION
-      && expr->value.function.isym != nullptr)
-    return false;
+      && expr->expr_type == EXPR_FUNCTION)
+    if (gfc_intrinsic_sym *isym = expr->value.function.isym)
+      {
+       if (isym->id == GFC_ISYM_CAF_GET)
+         return true;
+       return false;
+      }
 
   if (dummy == nullptr)
     return true;
diff --git a/gcc/fortran/trans-intrinsic.cc b/gcc/fortran/trans-intrinsic.cc
index 07b2fe72d83d..ee236a80ac78 100644
--- a/gcc/fortran/trans-intrinsic.cc
+++ b/gcc/fortran/trans-intrinsic.cc
@@ -1345,7 +1345,6 @@ gfc_conv_intrinsic_caf_get (gfc_se *se, gfc_expr *expr, 
tree lhs,
        {
          gfc_se tmp_se;
          gfc_init_se (&tmp_se, nullptr);
-         tmp_se.bytes_strided = 1;
          gfc_conv_expr_descriptor (&tmp_se, array_expr);
          gfc_add_block_to_block (&se->pre, &tmp_se.pre);
          gfc_add_block_to_block (&se->post, &tmp_se.post);

Reply via email to