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

Reply via email to