2009-08-25 Janus Weil <janus@gcc.gnu.org>
authorjanus <janus@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 25 Aug 2009 14:26:44 +0000 (14:26 +0000)
committerjanus <janus@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 25 Aug 2009 14:26:44 +0000 (14:26 +0000)
commit0fd53ac9e79421de9b0d1f42521f15e9845983e7
tree3af99476a57f873526e5deb43b0c56abfcee584b
parent235978c1d0b61f594af8e59257ccebdbb1b5d2fd
2009-08-25  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41139
* primary.c (gfc_match_varspec): Make sure EXPR_PPC is only used for
calls to procedure pointer components, other references to procedure
pointer components are EXPR_VARIABLE.
* resolve.c (resolve_actual_arglist): Bugfix (there can be calls without
actual arglist).
* trans-expr.c (gfc_get_proc_ptr_comp): Renamed to 'get_proc_ptr_comp',
removed argument 'se' and made static. Avoid inserting a temporary
variable for calling the PPC.
(conv_function_val): Renamed gfc_get_proc_ptr_comp.
(gfc_conv_procedure_call): Distinguish functions returning a procedure
pointer from calls to a procedure pointer. Distinguish calls to
procedure pointer components from procedure pointer components as
actual arguments.
* trans-stmt.h (gfc_get_proc_ptr_comp): Make it static.

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

PR fortran/41139
* gfortran.dg/proc_ptr_25.f90: New.
* gfortran.dg/proc_ptr_comp_18.f90: New.
* gfortran.dg/proc_ptr_comp_19.f90: New.

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