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

Reply via email to