This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/53191] New: [OOP] C614 (F2003) or C618 (F2008) not implemented for class expressions
- From: "pault at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 02 May 2012 14:19:15 +0000
- Subject: [Bug fortran/53191] New: [OOP] C614 (F2003) or C618 (F2008) not implemented for class expressions
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53191
Bug #: 53191
Summary: [OOP] C614 (F2003) or C618 (F2008) not implemented for
class expressions
Classification: Unclassified
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: pault@gcc.gnu.org
"A part-name to the right of a part-ref with non-zero rank shall not have the
POINTER or ALLOCATABLE attribute" is not implemented for class expressions.
implicit none
type t0
integer :: j = 42
end type t0
type, extends(t0) :: t1
integer :: k = 99
end type t1
type t
integer :: i
class(t0), allocatable :: foo
end type t
type(t) :: m(4)
integer :: n
do n = 1, 2
allocate(m(n)%foo, source = t0(n*99))
end do
do n = 3, 4
allocate(m(n)%foo, source = t1(n*99, n*999))
end do
end
Should not be permitted, according to this constraint. At present, it compiles
and does the intended thing at runtime.
Cheers
Paul