!RUN: %flang_fc1 -fsyntax-only -J%S/Inputs %s
#if 0
!modfile67.mod was produced from this source, and must be read into this
!compilation from its module file in order to truly test this fix.
module modfile67
type t
procedure(foo), nopass, pointer :: p
end type
contains
pure function foo(n,a) result(r)
integer, intent(in) :: n
real, intent(in), dimension(n) :: a
logical, dimension(size(a)) :: r
r = .false.
end
type(t) function fooptr(f)
procedure(foo) f
fooptr%p => f
end
end
#endif
program test
use modfile67
type(t) x
x = fooptr(bar) ! ensure no bogus error about procedure incompatibility
contains
pure function bar(n,a) result(r)
integer, intent(in) :: n
real, intent(in), dimension(n) :: a
logical, dimension(size(a)) :: r
r = .false.
end
end