! RUN: %python %S/test_modfile.py %s %flang_fc1 ! Ensure that m2.mod explicitly USEs a generic interface from m1 ! so it can utilize its shadowed derived type. module m1 implicit none type :: xyz integer :: n end type interface xyz module procedure xzy end interface contains function xzy(j) result(res) integer, intent(in) :: j type(xyz) :: res res%n = j end function end module !Expect: m1.mod !module m1 !type::xyz !integer(4)::n !end type !interface xyz !procedure::xzy !end interface !contains !function xzy(j) result(res) !integer(4),intent(in)::j !type(xyz)::res !end !end module m2 implicit none contains function foo(j) result(res) use :: m1, only: xyz integer, intent(in) :: j type(xyz) :: res res = xyz(j) end function end module !Expect: m2.mod !module m2 !contains !function foo(j) result(res) !use m1,only:xyz !integer(4),intent(in)::j !type(xyz)::res !end !end