http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54286
Mikael Morin <mikael at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mikael at gcc dot gnu.org --- Comment #4 from Mikael Morin <mikael at gcc dot gnu.org> 2013-01-09 12:06:53 UTC --- (In reply to comment #3) > > type :: t > > procedure(a), pointer, nopass :: p > > end type > > > > type(t) :: x > > procedure(iabs), pointer :: pp > > > > x%p => a ! ok > > [A] I believe that this is invalid because the interfaces do not match > procedure(iabs), pointer => integer pointer procedure (integer formal) [...] > > x%p => a(1) ! invalid, but not rejected by 4.8 > > [B] This is valid: > procedure(iabs), pointer => pointer to integer procedure(iabs) Huh? the interface of `x%p' is `a', not `iabs'. I think the comments are correct; the former is valid, the latter invalid.