aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2014-02-09 20:50:21 +0000
committerPaul Thomas <pault@gcc.gnu.org>2014-02-09 20:50:21 +0000
commit68b1c5e1f21c973090165c34e59122567b1c03df (patch)
tree71d00773068e77202184e9ae61605c3cd362ea64 /gcc/fortran/resolve.c
parent56c78e5c22f59741aba3aac3fa89452895be36bf (diff)
downloadgcc-68b1c5e1f21c973090165c34e59122567b1c03df.zip
gcc-68b1c5e1f21c973090165c34e59122567b1c03df.tar.gz
gcc-68b1c5e1f21c973090165c34e59122567b1c03df.tar.bz2
re PR fortran/57522 ([F03] ASSOCIATE construct creates array descriptor with incorrect stride for derived type array component)
2014-02-09 Paul Thomas <pault@gcc.gnu.org> PR fortran/57522 * resolve.c (resolve_assoc_var): Set the subref_array_pointer attribute for the 'associate-name' if necessary. * trans-stmt.c (trans_associate_var): If the 'associate-name' is a subref_array_pointer, assign the element size of the associate variable to 'span'. 2014-02-09 Paul Thomas <pault@gcc.gnu.org> PR fortran/57522 * gfortran.dg/associated_target_5.f03 : New test From-SVN: r207646
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 0262165..69ec7bf 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -7820,6 +7820,8 @@ resolve_assoc_var (gfc_symbol* sym, bool resolve_target)
sym->attr.target = tsym->attr.target
|| gfc_expr_attr (target).pointer;
+ if (is_subref_array (target))
+ sym->attr.subref_array_pointer = 1;
}
/* Get type if this was not already set. Note that it can be