https://gcc.gnu.org/g:77b5e02250d76285eb1c4e411bb0f020f5fea829

commit 77b5e02250d76285eb1c4e411bb0f020f5fea829
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 ef9c5c8dfc16..7345b8c98e80 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