summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-14 05:11:04 +0000
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-14 05:11:04 +0000
commitfade5ce98b583fa416ba84b4cc3cad12af227f57 (patch)
tree289ae642716afff8fa017677ff690ec172e826da
parentc49dc07089aa5e8cc397b4090ad63f967ba5664d (diff)
downloadgcc-fade5ce98b583fa416ba84b4cc3cad12af227f57.tar.gz
2014-06-14 Paul Thomas <pault@gcc.gnu.org>
* trans-array.c (gfc_conv_array_parameter): Assign 'old_desc' to 'new_desc' rather than some of the components. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/fortran-dev@211664 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/fortran/ChangeLog.fortran-dev5
-rw-r--r--gcc/fortran/trans-array.c8
2 files changed, 6 insertions, 7 deletions
diff --git a/gcc/fortran/ChangeLog.fortran-dev b/gcc/fortran/ChangeLog.fortran-dev
index f4db5885af1..4c6f85189ee 100644
--- a/gcc/fortran/ChangeLog.fortran-dev
+++ b/gcc/fortran/ChangeLog.fortran-dev
@@ -1,3 +1,8 @@
+2014-06-14 Paul Thomas <pault@gcc.gnu.org>
+
+ * trans-array.c (gfc_conv_array_parameter): Assign 'old_desc'
+ to 'new_desc' rather than some of the components.
+
2014-06-03 Paul Thomas <pault@gcc.gnu.org>
* trans-array.c (gfc_conv_expr_descriptor): Use the type of the
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
index bffebcc1f6d..f2838babd28 100644
--- a/gcc/fortran/trans-array.c
+++ b/gcc/fortran/trans-array.c
@@ -7539,13 +7539,7 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr * expr, bool g77,
tree old_desc = tmp;
tree new_desc = gfc_create_var (TREE_TYPE (old_desc), "arg_desc");
- old_field = gfc_conv_descriptor_dtype (old_desc);
- new_field = gfc_conv_descriptor_dtype (new_desc);
- gfc_add_modify (&se->pre, new_field, old_field);
-
- old_field = gfc_conv_descriptor_offset (old_desc);
- new_field = gfc_conv_descriptor_offset (new_desc);
- gfc_add_modify (&se->pre, new_field, old_field);
+ gfc_add_modify (&se->pre, new_desc, old_desc);
for (int i = 0; i < expr->rank; i++)
{