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

--- Comment #6 from anlauf at gcc dot gnu.org ---
Potential fix that regtests cleanly:

diff --git a/gcc/fortran/simplify.cc b/gcc/fortran/simplify.cc
index f992c31e5d7..3d2a68fa36a 100644
--- a/gcc/fortran/simplify.cc
+++ b/gcc/fortran/simplify.cc
@@ -7536,8 +7537,9 @@ simplify_size (gfc_expr *array, gfc_expr *dim, int k)
     }

   for (ref = array->ref; ref; ref = ref->next)
-    if (ref->type == REF_ARRAY && ref->u.ar.as)
-      gfc_resolve_array_spec (ref->u.ar.as, 0);
+    if (ref->type == REF_ARRAY && ref->u.ar.as
+       && !gfc_resolve_array_spec (ref->u.ar.as, 0))
+      return NULL;

   if (dim == NULL)
     {

Reply via email to