From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 65002385800F; Mon, 15 Mar 2021 23:07:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 65002385800F From: "juergen.reuter at desy dot de" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/99602] [11 regression] runtime error: pointer actual argument not associated Date: Mon, 15 Mar 2021 23:07:19 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Version: 11.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: juergen.reuter at desy dot de X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Mar 2021 23:07:19 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D99602 J=C3=BCrgen Reuter changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pault at gcc dot gnu.org --- Comment #3 from J=C3=BCrgen Reuter --- Here is a shorter reproducer, and this time it is the -fcheck=3Dpointer that leads to the problem. I was able to reproduce this to 80 lines, leading to = the error: At line 41 of file repro.f90 Fortran runtime error: Pointer actual argument 'm2' is not associated module m implicit none private public :: m_t type :: m_t private end type m_t end module m module m2_testbed use m implicit none private public :: prepare_m2 procedure (prepare_m2_proc), pointer :: prepare_m2 =3D> null () abstract interface subroutine prepare_m2_proc (m2) import class(m_t), intent(inout), pointer :: m2 end subroutine prepare_m2_proc end interface end module m2_testbed module a use m use m2_testbed, only: prepare_m2 implicit none private public :: a_1 contains subroutine a_1 () class(m_t), pointer :: m2 m2 =3D> null () call prepare_m2 (m2) end subroutine a_1 end module a module m2 use m implicit none private public :: m2_t type, extends (m_t) :: m2_t private contains procedure :: read =3D> m2_read end type m2_t contains subroutine m2_read (m2) class(m2_t), intent(out), target :: m2 end subroutine m2_read end module m2 program main use m2_testbed use a, only: a_1 implicit none prepare_m2 =3D> prepare_whizard_m2 call a_1 () contains subroutine prepare_whizard_m2 (m2) use m use m2 class(m_t), intent(inout), pointer :: m2 select type (m2) type is (m2_t) call m2%read () end select end subroutine prepare_whizard_m2 end program main=