2010-02-05 Paul Thomas <pault@gcc.gnu.org>
commit3446c28b852b05b356bb0ef7bd323f5d5a82e805
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Feb 2010 05:28:37 +0000 (5 05:28 +0000)
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Feb 2010 05:28:37 +0000 (5 05:28 +0000)
tree9ce142b33f6bfd6ae121c00b831210a43bbbf320
parentccc3182389d961c963fbc5146ce3cc4c2cbb08da
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156512 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/ChangeLog
gcc/fortran/trans-expr.c
gcc/fortran/trans-io.c
gcc/fortran/trans-stmt.c
gcc/fortran/trans.h
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/subref_array_pointer_4.f90 [new file with mode: 0644]