[Bug fortran/103694] [12/13 Regression] ICE in gfc_conv_expr_op, at fortran/trans-expr.c:3882 since r12-3993-gb19bbfb148250536

anlauf at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Aug 23 20:05:05 GMT 2022


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)
     {


More information about the Gcc-bugs mailing list