[Bug fortran/84273] Reject allocatable passed-object dummy argument (proc_ptr_47.f90)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84273 --- Comment #2 from janus at gcc dot gnu.org --- Author: janus Date: Mon Feb 12 17:11:58 2018 New Revision: 257590 URL: https://gcc.gnu.org/viewcvs?rev=257590=gcc=rev Log: 2018-02-12 Janus WeilPR fortran/84273 * resolve.c (resolve_component): Fix checks of passed argument in procedure-pointer components. 2018-02-12 Janus Weil PR fortran/84273 * gfortran.dg/proc_ptr_47.f90: Fix invalid test case. * gfortran.dg/proc_ptr_comp_pass_4.f90: Fix and extend test case. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/resolve.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/proc_ptr_47.f90 trunk/gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_4.f90
[Bug fortran/84273] Reject allocatable passed-object dummy argument (proc_ptr_47.f90)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84273 janus at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2018-02-08 Assignee|unassigned at gcc dot gnu.org |janus at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from janus at gcc dot gnu.org --- Turns out the relevant check is already there, but not working. proc_ptr_47 is rejected with this fix: Index: gcc/fortran/resolve.c === --- gcc/fortran/resolve.c (revision 257498) +++ gcc/fortran/resolve.c (working copy) @@ -13722,7 +13722,7 @@ return false; } - if (me_arg->attr.allocatable) + if (CLASS_DATA (me_arg)->attr.allocatable) { gfc_error ("Argument %qs of %qs with PASS(%s) at %L " "may not be ALLOCATABLE", me_arg->name, c->name,