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 3d40c9a24d4a0d2950240955ba2b2521e3fd6c83..0b870066b6602f44e8d9f5e8d25d2879d65ee729 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 31b2336a7b03d94a81c8c64710cac0e09dd994be..b6add1c0bb831cf50f21b55cc442c4d660f97532 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)