https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87734
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |janus at gcc dot gnu.org
--- Comment #6 from janus at gcc dot gnu.org ---
Here is a reduced variant of comment #0:
module m_vstring
implicit none
public :: vstring_length
contains
subroutine vstring_cast()
character ( len = vstring_length() ) :: char_string
end subroutine
pure integer function vstring_length ()
end function
end module
It compiles with 5.5.0, ICEs in is_illegal_recursion with 6.5.0, 7.3.0, 8.2.0
and is rejected with trunk (as mentioned in comment #5):
12 | pure integer function vstring_length ()
| 1
Error: MODULE-PROC procedure at (1) is already declared as EXTERNAL-PROC
procedure