! { dg-do compile } ! Tests the fix for PR38765 in which the use associated symbol ! 'fun' was confused with the contained function in 'mod_b' ! because the real name was being used instead of the 'use' ! name.. ! ! Contributed by Paul Thomas ! from a report by Marco Restelli. ! module mod_a implicit none public :: fun private contains pure function fun(x) result(mu) real, intent(in) :: x(:,:) real :: mu(2,2,size(x,2)) mu = 2.0 end function fun end module mod_a module mod_b use mod_a, only: & a_fun => fun implicit none private contains pure function fun(x) result(mu) real, intent(in) :: x(:,:) real :: mu(2,2,size(x,2)) mu = a_fun(x) end function fun end module mod_b