39 lines
872 B
Fortran
39 lines
872 B
Fortran
! { dg-do compile }
|
|
! PR 18197: Check that dummy functions with RESULT variable and dimension works.
|
|
module innerfun
|
|
contains
|
|
function f(n,x) result(y)
|
|
integer, intent(in) :: n
|
|
real, dimension(:), intent(in) :: x
|
|
real, dimension(n) :: y
|
|
y = 1
|
|
end function f
|
|
end module innerfun
|
|
|
|
module outerfun
|
|
contains
|
|
subroutine foo(n,funname)
|
|
integer, intent(in) :: n
|
|
real, dimension(n) :: y
|
|
real, dimension(2) :: x
|
|
interface
|
|
function funname(n,x) result(y)
|
|
integer, intent(in) :: n
|
|
real, dimension(:), intent(in) :: x
|
|
real, dimension(n) :: y
|
|
end function funname
|
|
end interface
|
|
|
|
y = funname(n, (/ 0.2, 0.3 /) )
|
|
|
|
end subroutine foo
|
|
end module outerfun
|
|
|
|
program test
|
|
use outerfun
|
|
use innerfun
|
|
call foo(3,f)
|
|
end program test
|
|
|
|
! { dg-final { cleanup-modules "innerfun outerfun" } }
|