summaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-array.c
diff options
context:
space:
mode:
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2015-12-12 19:00:32 +0000
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2015-12-12 19:00:32 +0000
commit38bb9313d590b65f18f62c312fd2e7419d20afb7 (patch)
treeb4b313cc1ea7b49c947ce78542b13088030fe79e /gcc/fortran/trans-array.c
parentd9102cbe7b9f5d81fcb2266709bc3c2377e255df (diff)
2014-12-12 Tobias Burnus <burnus@net-b.de>
gcc/fortran PR fortran/45859 * expr.c (gfc_is_simply_contiguous): Optionally permit array * elements. (gfc_check_pointer_assign): Update call. * interface.c (compare_parameter): Ditto. * trans-array.c (gfc_conv_array_parameter): Ditto. * trans-intrinsic.c (gfc_conv_intrinsic_transfer, conv_isocbinding_function): Ditto. * gfortran.h (gfc_is_simply_contiguous): Update prototype. gcc/testsuite/ PR fortran/45859 * gcc/testsuite/gfortran.dg/coarray_args_2.f90: Remove dg-error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231585 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/trans-array.c')
-rw-r--r--gcc/fortran/trans-array.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
index 69f6e19f9226..6e24e2e954cd 100644
--- a/gcc/fortran/trans-array.c
+++ b/gcc/fortran/trans-array.c
@@ -7386,7 +7386,7 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr * expr, bool g77,
&& ref->u.ar.as->type != AS_ASSUMED_RANK
&& ref->u.ar.as->type != AS_ASSUMED_SHAPE)
||
- gfc_is_simply_contiguous (expr, false));
+ gfc_is_simply_contiguous (expr, false, true));
no_pack = contiguous && no_pack;
@@ -7464,7 +7464,7 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr * expr, bool g77,
}
if (g77 || (fsym && fsym->attr.contiguous
- && !gfc_is_simply_contiguous (expr, false)))
+ && !gfc_is_simply_contiguous (expr, false, true)))
{
tree origptr = NULL_TREE;