36 lines
793 B
Fortran
36 lines
793 B
Fortran
! { 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 <pault@gcc.gnu.org>
|
|
! 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
|
|
|
|
! { dg-final { cleanup-modules "mod_a mod_b" } }
|