49 lines · plain
1! RUN: %python %S/test_modfile.py %s %flang_fc12! Ensure that symbols and types needed to declare procedures and procedure pointers3! are properly imported into interfaces.4module m5 type :: t6 end type7 abstract interface8 subroutine iface9 end10 end interface11 procedure(iface) :: ext12 interface13 subroutine subr(p1,p2)14 import ext, t15 procedure(ext) :: p116 procedure(type(t)), pointer :: p217 end subroutine18 function fun() result(res)19 import subr20 procedure(subr), pointer :: res21 end function22 end interface23end module24 25!Expect: m.mod26!module m27!type::t28!end type29!abstract interface30!subroutine iface()31!end32!end interface33!procedure(iface)::ext34!interface35!subroutine subr(p1,p2)36!import::ext37!import::t38!procedure(ext)::p139!procedure(type(t)),pointer::p240!end41!end interface42!interface43!function fun() result(res)44!import::subr45!procedure(subr),pointer::res46!end47!end interface48!end49