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;

Reply via email to