!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