This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/54784] [OOP] allocation of extended types with polymorphic allocatable members
- From: "janus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 02 Oct 2012 21:51:49 +0000
- Subject: [Bug fortran/54784] [OOP] allocation of extended types with polymorphic allocatable members
- Auto-submitted: auto-generated
- References: <bug-54784-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Keywords| |wrong-code
Last reconfirmed| |2012-10-02
CC| |janus at gcc dot gnu.org
Ever Confirmed|0 |1
Summary|[oop] allocation of |[OOP] allocation of
|extended types with |extended types with
|polymorphic allocatable |polymorphic allocatable
|members |members
--- Comment #1 from janus at gcc dot gnu.org 2012-10-02 21:51:49 UTC ---
Thanks for reporting this. I can reproduce it with 4.7 and trunk. Here is a
reduced test case:
program bug
implicit none
type :: block
real, allocatable :: fields
end type
type :: list
class(block),allocatable :: B
end type
type :: domain
type(list),dimension(2) :: L
end type
type(domain) :: d
type(block) :: b1
allocate(d%L(2)%B,source=b1)
end program bug
This fails at runtime with:
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
#0 0x7F379D1FDA97
#1 0x7F379D1FE074
#2 0x7F379C72ED9F
#3 0x400804 in __copy_bug_Block at bug.f90:9
#4 0x40097C in bug at bug.f90:19 (discriminator 2)
Segmentation fault
valgrind shows:
==11046== Invalid read of size 8
==11046== at 0x400804: __copy_bug_Block (bug.f90:9)
==11046== by 0x40097C: MAIN__ (bug.f90:19)
==11046== by 0x400A88: main (bug.f90:21)
==11046== Address 0x0 is not stack'd, malloc'd or (recently) free'd