Hi Janne,
I think you need a few more test cases, like (compile with -fcheck=all
and -std=f2018):
module foo
contains
subroutine f(n)
call g(n-1)
end subroutine f
subroutine g(n)
if (n<0) return
call f(n-1)
end subroutine g
end module foo
program main
use foo
call f(10)
end program main
Also, there should be a run-time check that the above fails
with -std=f2018, -fcheck=all and the NON_RECURSIVE attribute.
However, I am not sure we should make f2018 the default standard as yet,
especially since some things have not yet been ironed out, but I am
open to discussion on that.
Any more thoughts on this one?
Regards
Thomas