https://gcc.gnu.org/g:41b056229a428f1bfc1d13e7a8ef87e7e3601b30

commit 41b056229a428f1bfc1d13e7a8ef87e7e3601b30
Author: Mikael Morin <mik...@gcc.gnu.org>
Date:   Fri Feb 14 17:23:47 2025 +0100

    Correction régression class_to_type_2.f90

Diff:
---
 gcc/fortran/trans-array.cc | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc
index f285f4550088..8d20abbe0304 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -8266,9 +8266,11 @@ gfc_set_delta (gfc_loopinfo *loop)
       gfc_ss_type ss_type;
 
       ss_type = ss->info->type;
-      if (ss_type != GFC_SS_SECTION
-         && ss_type != GFC_SS_COMPONENT
-         && ss_type != GFC_SS_CONSTRUCTOR)
+      if (!(ss_type == GFC_SS_SECTION
+           || ss_type == GFC_SS_COMPONENT
+           || ss_type == GFC_SS_CONSTRUCTOR
+           || (ss_type == GFC_SS_FUNCTION
+               && gfc_is_class_array_function (ss->info->expr))))
        continue;
 
       info = &ss->info->data.array;

Reply via email to