1dc453dcfSIvan Zhechev! RUN: %python %S/test_modfile.py %s %flang_fc1 21bd083b5Speter klausler! Resolution of specification expression references to generic interfaces 31bd083b5Speter klausler! that resolve to private specific functions. 41bd083b5Speter klausler 51bd083b5Speter klauslermodule m1 61bd083b5Speter klausler interface gen 71bd083b5Speter klausler module procedure priv 81bd083b5Speter klausler end interface 91bd083b5Speter klausler private :: priv 101bd083b5Speter klausler contains 111bd083b5Speter klausler pure integer function priv(n) 121bd083b5Speter klausler integer, intent(in) :: n 131bd083b5Speter klausler priv = n 141bd083b5Speter klausler end function 151bd083b5Speter klauslerend module 161bd083b5Speter klausler!Expect: m1.mod 171bd083b5Speter klausler!module m1 18*a3e9d3c2SPeter Klausler!private::priv 191bd083b5Speter klausler!interface gen 201bd083b5Speter klausler!procedure::priv 211bd083b5Speter klausler!end interface 221bd083b5Speter klausler!contains 231bd083b5Speter klausler!pure function priv(n) 241bd083b5Speter klausler!integer(4),intent(in)::n 251bd083b5Speter klausler!integer(4)::priv 261bd083b5Speter klausler!end 271bd083b5Speter klausler!end 281bd083b5Speter klausler 291bd083b5Speter klauslermodule m2 301bd083b5Speter klausler use m1 311bd083b5Speter klausler contains 321bd083b5Speter klausler subroutine s(a) 331bd083b5Speter klausler real :: a(gen(1)) 341bd083b5Speter klausler end subroutine 351bd083b5Speter klauslerend module 361bd083b5Speter klausler!Expect: m2.mod 371bd083b5Speter klausler!module m2 381bd083b5Speter klausler!use m1,only:gen 39bcad53e1SPeter Klausler!use m1,only:m1$m1$priv=>priv 40bcad53e1SPeter Klausler!private::m1$m1$priv 411bd083b5Speter klausler!contains 421bd083b5Speter klausler!subroutine s(a) 43bcad53e1SPeter Klausler!real(4)::a(1_8:int(m1$m1$priv(1_4),kind=8)) 441bd083b5Speter klausler!end 451bd083b5Speter klausler!end 461bd083b5Speter klausler 471bd083b5Speter klausleruse m2 481bd083b5Speter klauslerend 49