https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101514
anlauf at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |anlauf at gcc dot gnu.org --- Comment #2 from anlauf at gcc dot gnu.org --- Something like the following fixes the problem: diff --git a/gcc/fortran/target-memory.c b/gcc/fortran/target-memory.c index cfa8402dd3f..4be36bef856 100644 --- a/gcc/fortran/target-memory.c +++ b/gcc/fortran/target-memory.c @@ -534,6 +534,9 @@ gfc_interpret_derived (unsigned char *buffer, size_t buffer_size, gfc_expr *resu { int n; + if (cmp->as->type == AS_ASSUMED_RANK || cmp->as->rank < 0) + return 0; + e->expr_type = EXPR_ARRAY; e->rank = cmp->as->rank;