Whilst trying to debug someone else's code I found that I am not able to step into an external function that has been provided with an explicit interface using a module.
The following code illustrates this. When you run using the debugger you are not able to step into the adder function (the line: adder = a + b). You are not able to 'Getto cursor' to this location either.
It works if the interface is copied into main directly (copy/paste and remove the module), but not with it in the module.
Any thoughts? The stack trace shows a call to the interface, which isn't right.
module interfaces
interface
function adder(a, b)
real, intent(in) :: a, b
real :: adder
end function adder
end interface
end module interfaces
function adder(a, b)
real, intent(in) :: a, b
real :: adder
adder = a + b
end function adder
program main
use interfaces, only: adder
real :: a, b, y
a = 1.0
b = 2.0
y = adder(a, b)
print *, y
end program main