! 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 | |
!interface gen | |
!procedure::priv | |
!end interface | |
!private::priv | |
!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$priv=>priv | |
!private::m1$priv | |
!contains | |
!subroutine s(a) | |
!real(4)::a(1_8:int(m1$priv(1_4),kind=8)) | |
!end | |
!end | |
use m2 | |
end |