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

commit b960951e7b5acef5dfc8cdc948809ee1ca9492e8
Author: Mikael Morin <mik...@gcc.gnu.org>
Date:   Thu Jan 16 20:04:43 2025 +0100

    Correction régression gfc_conv_expr_descriptor

Diff:
---
 gcc/fortran/trans-array.cc | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc
index b7d2b3280e78..bf11689cf3dd 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -9230,7 +9230,6 @@ gfc_conv_expr_descriptor (gfc_se *se, gfc_expr *expr)
   bool subref_array_target = false;
   bool deferred_array_component = false;
   bool substr = false;
-  bool unlimited_polymorphic = false;
   gfc_expr *arg, *ss_expr;
 
   if (se->want_coarray || expr->rank == 0)
@@ -9256,7 +9255,7 @@ gfc_conv_expr_descriptor (gfc_se *se, gfc_expr *expr)
     }
 
   if (!se->direct_byref)
-    unlimited_polymorphic = UNLIMITED_POLY (expr);
+    se->unlimited_polymorphic = UNLIMITED_POLY (expr);
 
   /* Special case things we know we can pass easily.  */
   switch (expr->expr_type)
@@ -9660,9 +9659,8 @@ gfc_conv_expr_descriptor (gfc_se *se, gfc_expr *expr)
                          gfc_get_array_span (desc, expr)));
        }
 
-
       set_descriptor (&loop.pre, parm, desc, expr, loop.dimen, codim,
-                     ss, info, loop.from, loop.to, unlimited_polymorphic,
+                     ss, info, loop.from, loop.to, se->unlimited_polymorphic,
                      !se->data_not_needed, subref_array_target);
 
       desc = parm;

Reply via email to