Is this module conformant?
module m
abstract interface
integer pure function kernel_proto( space, coord )
integer, intent( in ), allocatable :: space(:,:,:)
integer, intent(in) :: coord(3)
end function kernel_proto
subroutine iter_proto( space, fun )
! import :: kernel_proto
integer, intent(in), allocatable :: space(:,:,:)
procedure( kernel_proto ) :: fun
end subroutine iter_proto
end interface
end module m
2 compilers accept it
2 compilers reject, complaining
that interface kernel_proto is not defined.
Uncommenting the IMPORT line makes the other 2
compilers happy.
Who is right?
Anton
|