is using a variable defined in mod_name, and it fails because
of a mismatch between the code definition and the modfile
Otherwise, you would see the errors at runtime when the passing routine
and the accepting routine detect the mismatch.
The example I tried reported the issue on both Linux and Windows
with the command line compilers, and PVF.
module mymod
implicit none
private
public :: myfunc
contains
function myfunc(x) result(y)
implicit none
integer, intent(in) :: x
integer :: y
y=2.3 * x * x
end function myfunc
end module mymod
program advanced
use mymod, only: myfunc
implicit none
! integer :: x, y
real :: x
integer :: y
x = 10.0
y = myfunc(x)
print *, “x=”, x, " y=myfunc(x)=",y
end program advanced