[Bug fortran/85895] [6/7/8/9 Regression] ICE in gfc_conv_array_ref, at fortran/trans-array.c:3518
kargl at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed May 23 19:46:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85895
kargl at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P4
Status|UNCONFIRMED |NEW
Last reconfirmed| |2018-05-23
CC| |kargl at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #1 from kargl at gcc dot gnu.org ---
Index: gcc/fortran/match.c
===================================================================
--- gcc/fortran/match.c (revision 260623)
+++ gcc/fortran/match.c (working copy)
@@ -3791,6 +3791,14 @@ sync_statement (gfc_statement st)
gfc_error ("Redundant ERRMSG tag found at %L", &tmp->where);
goto cleanup;
}
+
+ if (tmp->ref && tmp->ref->type == REF_ARRAY)
+ {
+ gfc_error ("errmsg-variable at %L shall be a "
+ "scalar-default-char-variable", &tmp->where);
+ goto cleanup;
+ }
+
errmsg = tmp;
saw_errmsg = true;
This patch causes an error message to be generated. Need to
go find standard language to determine if the reference of
an array element counts as a scalar-default-char-variable.
IOW, is the following valid Fortran
program p
character(80) :: c(2)
sync memory (errmsg=c(2))
end
More information about the Gcc-bugs
mailing list