https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105381

--- Comment #1 from Mikael Morin <mikael at gcc dot gnu.org> ---
Draft patch.

diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc
index e4b6270ccf8..e0070aa080d 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -3698,7 +3698,8 @@ non_negative_strides_array_p (tree expr)
   if (DECL_P (expr)
       && DECL_LANG_SPECIFIC (expr))
     if (tree orig_decl = GFC_DECL_SAVED_DESCRIPTOR (expr))
-      return non_negative_strides_array_p (orig_decl);
+      if (orig_decl != expr)
+       return non_negative_strides_array_p (orig_decl);

   return true;
 }

Reply via email to