re PR fortran/63674 ([F03] procedure pointer and non/pure procedure)
authorJanus Weil <janus@gcc.gnu.org>
Sun, 14 Dec 2014 12:04:49 +0000 (13:04 +0100)
committerJanus Weil <janus@gcc.gnu.org>
Sun, 14 Dec 2014 12:04:49 +0000 (13:04 +0100)
commit5930876d68cf7480566c7c96ecc28069d20acd98
treecb5e16af307f095cd94a87bf193d891742cca6eb
parent761bd3334833d7b5d53fb6b233bd767237f1c1b6
re PR fortran/63674 ([F03] procedure pointer and non/pure procedure)

2014-12-14  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63674
* resolve.c (pure_function): Treat procedure-pointer components.
(check_pure_function): New function.
(resolve_function): Use it.
(pure_subroutine): Return a bool to indicate success and modify
arguments.
(resolve_generic_s0,resolve_specific_s0,resolve_unknown_s): Use return
value of 'pure_subroutine'.
(resolve_ppc_call): Call 'pure_subroutine'.
(resolve_expr_ppc): Call 'check_pure_function'.

2014-12-14  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63674
* gfortran.dg/proc_ptr_comp_39.f90: New.
* gfortran.dg/pure_dummy_length_1.f90: Modified error message.
* gfortran.dg/stfunc_6.f90: Ditto.
* gfortran.dg/typebound_operator_4.f90: Ditto.

From-SVN: r218717
gcc/fortran/ChangeLog
gcc/fortran/resolve.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/proc_ptr_comp_39.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pure_dummy_length_1.f90
gcc/testsuite/gfortran.dg/stfunc_6.f90
gcc/testsuite/gfortran.dg/typebound_operator_4.f03