aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/trans-expr.c3
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index f8558a6..04725e0 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2012-07-21 Tobias Burnus <burnus@net-b.de>
+
+ * trans-expr.c (gfc_conv_derived_to_class): Fix argument passed
+ to class_array_data_assign.
+
2012-07-20 Tobias Burnus <burnus@net-b.de>
* decl.c (gfc_verify_c_interop_param): Allow assumed-shape
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index f5ed4e3..e2c57e3 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -307,8 +307,7 @@ gfc_conv_derived_to_class (gfc_se *parmse, gfc_expr *e,
gfc_conv_expr_descriptor (parmse, e, ss);
if (e->rank != class_ts.u.derived->components->as->rank)
- class_array_data_assign (&parmse->pre, ctree, parmse->expr,
- TREE_TYPE (parmse->expr));
+ class_array_data_assign (&parmse->pre, ctree, parmse->expr, true);
else
gfc_add_modify (&parmse->pre, ctree, parmse->expr);
}