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

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
                 CC|                            |kargl at gcc dot gnu.org
   Last reconfirmed|                            |2022-11-08
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from kargl at gcc dot gnu.org ---
gfortran should set -fmax-errors=1, then run-on errors would not trigger ICEs.
Tested against code in PR.  Not regression tested.

diff --git a/gcc/fortran/resolve.cc b/gcc/fortran/resolve.cc
index 9202e2f10ad..197670757fb 100644
--- a/gcc/fortran/resolve.cc
+++ b/gcc/fortran/resolve.cc
@@ -5005,8 +5005,9 @@ find_array_spec (gfc_expr *e)
       case REF_ARRAY:
        if (as == NULL)
          {
+           locus loc = ref->u.ar.where.lb ? ref->u.ar.where : e->where;
            gfc_error ("Invalid array reference of a non-array entity at %L",
-                      &ref->u.ar.where);
+                      &loc);
            return false;
          }

Reply via email to