]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/fortran/trans-array.cc
re PR fortran/40176 (Fortran 2003: Procedure pointers with array return value)
authorJanus Weil <janus@gcc.gnu.org>
Mon, 25 May 2009 14:48:24 +0000 (16:48 +0200)
committerJanus Weil <janus@gcc.gnu.org>
Mon, 25 May 2009 14:48:24 +0000 (16:48 +0200)
commitc74b74a8b2f8a5996943128e574f429670537361
tree68abe1bd5f023825be92c3ec2ac271318c3baa9e
parent6b8ed1452b9f79918ba9324edda6642ed7d08114
re PR fortran/40176 (Fortran 2003: Procedure pointers with array return value)

2009-05-25  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40176
* primary.c (gfc_match_varspec): Handle procedure pointer components
with array return value.
* resolve.c (resolve_expr_ppc): Ditto.
(resolve_symbol): Make sure the interface of a procedure pointer has
been resolved.
* trans-array.c (gfc_walk_function_expr): Handle procedure pointer
components with array return value.
* trans-expr.c (gfc_conv_component_ref,gfc_conv_procedure_call,
gfc_trans_arrayfunc_assign): Ditto.
(gfc_trans_pointer_assignment): Handle procedure pointer assignments,
where the rhs is a dummy argument.
* trans-types.c (gfc_get_ppc_type,gfc_get_derived_type): Handle
procedure pointer components with array return value.

2009-05-25  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40176
* gfortran.dg/proc_ptr_18.f90: New.
* gfortran.dg/proc_ptr_19.f90: New.
* gfortran.dg/proc_ptr_comp_9.f90: New.
* gfortran.dg/proc_ptr_comp_10.f90: New.

From-SVN: r147850
gcc/fortran/ChangeLog
gcc/fortran/primary.c
gcc/fortran/resolve.c
gcc/fortran/trans-array.c
gcc/fortran/trans-expr.c
gcc/fortran/trans-types.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/proc_ptr_18.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/proc_ptr_19.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/proc_ptr_comp_10.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/proc_ptr_comp_9.f90 [new file with mode: 0644]