https://gcc.gnu.org/g:2342ea2cdae3cd3aad4ba66521da98616079de4e

commit 2342ea2cdae3cd3aad4ba66521da98616079de4e
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 ceaeeeb2a855..4120785b49b5 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -8246,9 +8246,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