1*d2126ec1SPeter Klausler!RUN: %flang_fc1 -fsyntax-only -J%S/Inputs %s 2*d2126ec1SPeter Klausler 3*d2126ec1SPeter Klausler#if 0 4*d2126ec1SPeter Klausler!modfile67.mod was produced from this source, and must be read into this 5*d2126ec1SPeter Klausler!compilation from its module file in order to truly test this fix. 6*d2126ec1SPeter Klauslermodule modfile67 7*d2126ec1SPeter Klausler type t 8*d2126ec1SPeter Klausler procedure(foo), nopass, pointer :: p 9*d2126ec1SPeter Klausler end type 10*d2126ec1SPeter Klausler contains 11*d2126ec1SPeter Klausler pure function foo(n,a) result(r) 12*d2126ec1SPeter Klausler integer, intent(in) :: n 13*d2126ec1SPeter Klausler real, intent(in), dimension(n) :: a 14*d2126ec1SPeter Klausler logical, dimension(size(a)) :: r 15*d2126ec1SPeter Klausler r = .false. 16*d2126ec1SPeter Klausler end 17*d2126ec1SPeter Klausler type(t) function fooptr(f) 18*d2126ec1SPeter Klausler procedure(foo) f 19*d2126ec1SPeter Klausler fooptr%p => f 20*d2126ec1SPeter Klausler end 21*d2126ec1SPeter Klauslerend 22*d2126ec1SPeter Klausler#endif 23*d2126ec1SPeter Klausler 24*d2126ec1SPeter Klauslerprogram test 25*d2126ec1SPeter Klausler use modfile67 26*d2126ec1SPeter Klausler type(t) x 27*d2126ec1SPeter Klausler x = fooptr(bar) ! ensure no bogus error about procedure incompatibility 28*d2126ec1SPeter Klausler contains 29*d2126ec1SPeter Klausler pure function bar(n,a) result(r) 30*d2126ec1SPeter Klausler integer, intent(in) :: n 31*d2126ec1SPeter Klausler real, intent(in), dimension(n) :: a 32*d2126ec1SPeter Klausler logical, dimension(size(a)) :: r 33*d2126ec1SPeter Klausler r = .false. 34*d2126ec1SPeter Klausler end 35*d2126ec1SPeter Klauslerend 36