re PR fortran/91802 (ICE in mio_name_expr_t, at fortran/module.c:2141)
authorJerry DeLisle <jvdelisle@gcc.gnu.org>
Sun, 29 Sep 2019 02:35:58 +0000 (02:35 +0000)
committerJerry DeLisle <jvdelisle@gcc.gnu.org>
Sun, 29 Sep 2019 02:35:58 +0000 (02:35 +0000)
2019-09-28  Jerry DeLisle  <jvdelisle@gcc.ngu.org>

PR fortran/91802
* decl.c (attr_decl1): Return MATCH_ERROR without free to avoid
bad expression type in free_expr0() ICE in rank+corank check.

From-SVN: r276265

gcc/fortran/ChangeLog
gcc/fortran/decl.c

index 3d40c9a..0b87006 100644 (file)
@@ -1,3 +1,9 @@
+2019-09-28  Jerry DeLisle  <jvdelisle@gcc.ngu.org>
+
+       PR fortran/91802
+       * decl.c (attr_decl1): Return MATCH_ERROR without free to avoid
+       bad expression type in free_expr0() ICE in rank+corank check.
+
 2019-09-28  Steven G. Kargl  <kargl@gcc.ngu.org>
 
        PR fortran/91802
index 31b2336..b6add1c 100644 (file)
@@ -8474,7 +8474,7 @@ attr_decl1 (void)
     {
       gfc_error ("rank + corank of %qs exceeds 15 at %C", sym->name);
       m = MATCH_ERROR;
-      goto cleanup;
+      return m;
     }
 
   if (sym->attr.cray_pointee && sym->as != NULL)