[Bug fortran/77667] ICE in expand_call, at calls.c:2588
anlauf at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jan 4 21:49:56 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77667
anlauf at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |anlauf at gcc dot gnu.org
--- Comment #3 from anlauf at gcc dot gnu.org ---
The following patch seems to work:
diff --git a/gcc/fortran/data.c b/gcc/fortran/data.c
index 839e04277ef..dee38e5de50 100644
--- a/gcc/fortran/data.c
+++ b/gcc/fortran/data.c
@@ -589,6 +589,15 @@ gfc_assign_data_value (gfc_expr *lvalue, gfc_expr *rvalue,
mpz_t index,
return false;
}
+ if (rvalue->symtree && rvalue->symtree->n.sym
+ && !rvalue->symtree->n.sym->attr.target
+ && !gfc_is_constant_expr (rvalue))
+ {
+ gfc_error ("non-constant initialization expression in DATA statement "
+ "at %L", &rvalue->where);
+ return false;
+ }
+
if (ref || (last_ts->type == BT_CHARACTER
&& rvalue->expr_type == EXPR_CONSTANT))
{
More information about the Gcc-bugs
mailing list