3 ! PR 80046: [F03] Explicit interface required: pointer argument
5 ! Contributed by Joachim Herb <joachim.herb@gmx.de>
11 procedure(NodeCloner
), nopass
, pointer :: cloneProc
=> NULL()
12 procedure(), nopass
, pointer :: noIfc
=> NULL()
16 subroutine NodeCloner( tgt
, src
)
18 type(Node_t
), pointer, intent(out
) :: tgt
19 type(Node_t
), intent(in
) :: src
24 procedure(NodeCloner
), pointer :: cloneNode
25 procedure(), pointer :: noIfc
27 cloneNode
=> node
%noIfc
! { dg-error "Explicit interface required" }
28 node
%noIfc
=> cloneNode
! { dg-error "Explicit interface required" }
30 noIfc
=> node
%cloneProc
! { dg-error "Explicit interface required" }
31 node
%cloneProc
=> noIfc
! { dg-error "Explicit interface required" }
33 node
%cloneProc
=> node
%noIfc
! { dg-error "Explicit interface required" }
34 node
%noIfc
=> node
%cloneProc
! { dg-error "Explicit interface required" }
36 ! the following cases are legal
38 node
%noIfc
=> node
%noIfc
39 node
%cloneProc
=> node
%cloneProc
41 cloneNode
=> node
%cloneProc
42 node
%cloneProc
=> cloneNode