1! { dg-do run } 2! 3! PR fortran/44360 4! 5! Test-case based on a contribution of Vittorio Zecca. 6! 7! The used subroutine was not the use-associated but the host associated one! 8! The use-associated function/variable were already working properly. 9! 10module m 11 integer :: var = 43 12contains 13 integer function fun() 14 fun = 42 15 end function fun 16 subroutine fun2() 17 var = 44 18 end subroutine fun2 19end module m 20 21module m2 22 integer :: var = -2 23contains 24 subroutine test() 25 ! All procedures/variables below refer to the ones in module "m" 26 ! and not to the siblings in this module "m2". 27 use m 28 if (fun() /= 42) STOP 1 29 if (var /= 43) STOP 2 30 call fun2() 31 if (var /= 44) STOP 3 32 end subroutine test 33 integer function fun() 34 STOP 4 35 fun = -3 36 end function fun 37 subroutine fun2() 38 STOP 5 39 end subroutine fun2 40end module m2 41 42use m2 43call test() 44end 45