[Bug fortran/94408] Spurious error: ‘rw_nl_grid’ must be a module procedure or an external procedure
michalak at ucar dot edu
gcc-bugzilla@gcc.gnu.org
Mon Mar 30 16:30:27 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94408
--- Comment #1 from michalak at ucar dot edu ---
Here is a slightly more simplified version of the test.F90 program that still
demonstrates the error with gcc 9.1.0 (below). The namelist_t type from the
previous reproducer code turns out not to be necessary and has been removed
from the example. Commenting out the indicated line causes the error to go
away. Thanks, -John
===
module mod_input
type config_t
integer :: domain_id
contains
procedure :: init => rw_config
procedure :: rw_nl_grid
end type config_t
interface
module subroutine rw_config (this,iunit)
implicit none
class (config_t) :: this
integer, intent(in), optional :: iunit
end subroutine rw_config
module subroutine rw_nl_grid ( this, iunit )
implicit none
class (config_t) :: this
integer, optional, intent(in) :: iunit
end subroutine rw_nl_grid
end interface
contains
module subroutine rw_config (this,iunit)
implicit none
class (config_t) :: this
integer, intent(in), optional :: iunit
call this%rw_nl_grid ! comment this out to make error go away
end subroutine rw_config
module subroutine rw_nl_grid ( this, iunit )
implicit none
class (config_t) :: this
integer, optional, intent(in) :: iunit
end subroutine rw_nl_grid
end module mod_input
module neptune_write_native
contains
subroutine Run
use mod_input
type(config_t) :: config
end subroutine Run
end module neptune_write_native
More information about the Gcc-bugs
mailing list