! 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
