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

commit a1f36df3603b944c181924972bb27a5c66ba1b10
Author: Mikael Morin <[email protected]>
Date:   Wed Oct 15 19:17:51 2025 +0200

    Correction régression coarray_alloc_comp_2.f08

Diff:
---
 gcc/fortran/trans-intrinsic.cc | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/gcc/fortran/trans-intrinsic.cc b/gcc/fortran/trans-intrinsic.cc
index d7f4441b0edb..7c2ec4e14eb5 100644
--- a/gcc/fortran/trans-intrinsic.cc
+++ b/gcc/fortran/trans-intrinsic.cc
@@ -1270,7 +1270,16 @@ contiguous_array (gfc_expr *expr)
 {
   gfc_ref *ref;
 
-  gcc_assert (expr && expr->expr_type == EXPR_VARIABLE);
+  gcc_assert (expr);
+
+  if (expr->expr_type == EXPR_FUNCTION
+      && expr->value.function.esym
+      && expr->value.function.esym->result
+      && expr->value.function.esym->result->attr.pointer)
+    return false;
+
+  if (expr->expr_type != EXPR_VARIABLE)
+    return true;
 
   bool contiguous = true;
   if (expr->symtree->n.sym->ts.type == BT_CLASS

Reply via email to