aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-stmt.c
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2010-02-05 05:28:37 +0000
committerPaul Thomas <pault@gcc.gnu.org>2010-02-05 05:28:37 +0000
commit430f2d1f6fcde2ccbf5ae935e15e13f0bb3e8c4c (patch)
tree9ce142b33f6bfd6ae121c00b831210a43bbbf320 /gcc/fortran/trans-stmt.c
parente7da179e4d159e5e7efef8459b97463e70161f37 (diff)
downloadgcc-430f2d1f6fcde2ccbf5ae935e15e13f0bb3e8c4c.zip
gcc-430f2d1f6fcde2ccbf5ae935e15e13f0bb3e8c4c.tar.gz
gcc-430f2d1f6fcde2ccbf5ae935e15e13f0bb3e8c4c.tar.bz2
re PR fortran/42309 (Problem with a pointer array passed to a subroutine)
2010-02-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/42309 * trans-expr.c (gfc_conv_subref_array_arg): Add new argument 'formal_ptr'. If this is true, give returned descriptor unity lbounds, in all dimensions, and the appropriate offset. (gfc_conv_procedure_call); If formal is a pointer, set the last argument of gfc_conv_subref_array_arg to true. * trans.h : Add last argument for gfc_conv_subref_array_arg. * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the new arg of gfc_conv_subref_array_arg to false. * trans-stmt.c (forall_make_variable_temp): The same. 2010-02-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/42309 * gfortran.dg/subref_array_pointer_4.f90 : New test. From-SVN: r156512
Diffstat (limited to 'gcc/fortran/trans-stmt.c')
-rw-r--r--gcc/fortran/trans-stmt.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c
index dd3d10d..84c3c85 100644
--- a/gcc/fortran/trans-stmt.c
+++ b/gcc/fortran/trans-stmt.c
@@ -1800,7 +1800,7 @@ forall_make_variable_temp (gfc_code *c, stmtblock_t *pre, stmtblock_t *post)
if (old_sym->attr.dimension)
{
gfc_init_se (&tse, NULL);
- gfc_conv_subref_array_arg (&tse, e, 0, INTENT_IN);
+ gfc_conv_subref_array_arg (&tse, e, 0, INTENT_IN, false);
gfc_add_block_to_block (pre, &tse.pre);
gfc_add_block_to_block (post, &tse.post);
tse.expr = build_fold_indirect_ref_loc (input_location, tse.expr);