! RUN: %python %S/test_modfile.py %s %flang_fc1
! Resolution of specification expression references to generic interfaces
! that resolve to private specific functions.
module m1
interface gen
module procedure priv
end interface
private :: priv
contains
pure integer function priv(n)
integer, intent(in) :: n
priv = n
end function
end module
!Expect: m1.mod
!module m1
!private::priv
!interface gen
!procedure::priv
!end interface
!contains
!pure function priv(n)
!integer(4),intent(in)::n
!integer(4)::priv
!end
!end
module m2
use m1
contains
subroutine s(a)
real :: a(gen(1))
end subroutine
end module
!Expect: m2.mod
!module m2
!use m1,only:gen
!use m1,only:m1$m1$priv=>priv
!private::m1$m1$priv
!contains
!subroutine s(a)
!real(4)::a(1_8:int(m1$m1$priv(1_4),kind=8))
!end
!end
use m2
end