131 lines · plain
1! RUN: %python %S/test_modfile.py %s %flang_fc12module m3 type t14 procedure(p1), pointer, nopass :: p5 end type6 type t27 procedure(p2), pointer, nopass :: p8 end type9 type t310 procedure(p4), pointer, nopass :: p11 end type12 type t413 procedure(p6), pointer, nopass :: p14 end type15 type t516 procedure(p7), pointer, nopass :: p17 end type18 interface19 subroutine p120 end21 subroutine p222 end23 subroutine p324 end25 subroutine p426 end27 subroutine p5(c)28 import29 type(t3), intent(in) :: c30 end31 subroutine p6(d)32 import33 type(t5), intent(in) :: d34 end35 subroutine p736 end37 subroutine p838 end39 function f(a,b,dp)40 import41 type(t1), intent(in) :: a42 type, extends(t2) :: localt143 procedure(p3), pointer, nopass :: p44 end type45 type, extends(localt1) :: localt246 contains47 procedure, nopass :: p848 end type49 type(localt2), intent(in) :: b50 procedure(p5) dp51 type(t4), pointer :: f52 end53 end interface54end55 56!Expect: m.mod57!module m58!type::t159!procedure(p1),nopass,pointer::p60!end type61!type::t262!procedure(p2),nopass,pointer::p63!end type64!type::t365!procedure(p4),nopass,pointer::p66!end type67!type::t468!procedure(p6),nopass,pointer::p69!end type70!type::t571!procedure(p7),nopass,pointer::p72!end type73!interface74!subroutine p1()75!end76!end interface77!interface78!subroutine p2()79!end80!end interface81!interface82!subroutine p3()83!end84!end interface85!interface86!subroutine p4()87!end88!end interface89!interface90!subroutine p5(c)91!import::t392!type(t3),intent(in)::c93!end94!end interface95!interface96!subroutine p6(d)97!import::t598!type(t5),intent(in)::d99!end100!end interface101!interface102!subroutine p7()103!end104!end interface105!interface106!subroutine p8()107!end108!end interface109!interface110!function f(a,b,dp)111!import::p3112!import::p5113!import::p8114!import::t1115!import::t2116!import::t4117!type(t1),intent(in)::a118!type,extends(t2)::localt1119!procedure(p3),nopass,pointer::p120!end type121!type,extends(localt1)::localt2122!contains123!procedure,nopass::p8124!end type125!type(localt2),intent(in)::b126!procedure(p5)::dp127!type(t4),pointer::f128!end129!end interface130!end131