aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 50b4b49..1dde0d3 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -10324,7 +10324,8 @@ resolve_ordinary_assign (gfc_code *code, gfc_namespace *ns)
/* Assign the 'data' of a class object to a derived type. */
if (lhs->ts.type == BT_DERIVED
- && rhs->ts.type == BT_CLASS)
+ && rhs->ts.type == BT_CLASS
+ && rhs->expr_type != EXPR_ARRAY)
gfc_add_data_component (rhs);
bool caf_convert_to_send = flag_coarray == GFC_FCOARRAY_LIB