1! RUN: %S/test_modfile.sh %s %t %f18 2module m 3 type t1 4 contains 5 procedure, nopass :: s2 6 procedure, nopass :: s3 7 procedure :: r 8 generic :: foo => s2 9 generic :: read(formatted)=> r 10 end type 11 type, extends(t1) :: t2 12 contains 13 procedure, nopass :: s4 14 generic :: foo => s3 15 generic :: foo => s4 16 end type 17contains 18 subroutine s2(i) 19 end 20 subroutine s3(r) 21 end 22 subroutine s4(z) 23 complex :: z 24 end 25 subroutine r(dtv, unit, iotype, v_list, iostat, iomsg) 26 class(t1), intent(inout) :: dtv 27 integer, intent(in) :: unit 28 character (len=*), intent(in) :: iotype 29 integer, intent(in) :: v_list(:) 30 integer, intent(out) :: iostat 31 character (len=*), intent(inout) :: iomsg 32 end 33end 34 35!Expect: m.mod 36!module m 37! type::t1 38! contains 39! procedure,nopass::s2 40! procedure,nopass::s3 41! procedure::r 42! generic::foo=>s2 43! generic::read(formatted)=>r 44! end type 45! type,extends(t1)::t2 46! contains 47! procedure,nopass::s4 48! generic::foo=>s3 49! generic::foo=>s4 50! end type 51!contains 52! subroutine s2(i) 53! integer(4)::i 54! end 55! subroutine s3(r) 56! real(4)::r 57! end 58! subroutine s4(z) 59! complex(4)::z 60! end 61! subroutine r(dtv,unit,iotype,v_list,iostat,iomsg) 62! class(t1),intent(inout)::dtv 63! integer(4),intent(in)::unit 64! character(*,1),intent(in)::iotype 65! integer(4),intent(in)::v_list(:) 66! integer(4),intent(out)::iostat 67! character(*,1),intent(inout)::iomsg 68! end 69!end 70