mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-24 04:10:29 +08:00
re PR fortran/41585 ([OOP] Reject CLASS(T) as component of "TYPE :: T")
2009-10-09 Janus Weil <janus@gcc.gnu.org> PR fortran/41585 * decl.c (build_struct): Bugfix for CLASS components. 2009-10-09 Janus Weil <janus@gcc.gnu.org> PR fortran/41585 * gfortran.dg/class_2.f03: Extended test case. From-SVN: r152608
This commit is contained in:
parent
e9e4b3a892
commit
619dd721d9
@ -1,3 +1,8 @@
|
||||
2009-10-09 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/41585
|
||||
* decl.c (build_struct): Bugfix for CLASS components.
|
||||
|
||||
2009-10-09 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR fortran/41582
|
||||
|
@ -1464,9 +1464,9 @@ build_struct (const char *name, gfc_charlen *cl, gfc_expr **init,
|
||||
{
|
||||
gfc_component *c;
|
||||
|
||||
/* If the current symbol is of the same derived type that we're
|
||||
/* F03:C438/C439. If the current symbol is of the same derived type that we're
|
||||
constructing, it must have the pointer attribute. */
|
||||
if (current_ts.type == BT_DERIVED
|
||||
if ((current_ts.type == BT_DERIVED || current_ts.type == BT_CLASS)
|
||||
&& current_ts.u.derived == gfc_current_block ()
|
||||
&& current_attr.pointer == 0)
|
||||
{
|
||||
|
@ -1,3 +1,8 @@
|
||||
2009-10-09 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/41585
|
||||
* gfortran.dg/class_2.f03: Extended test case.
|
||||
|
||||
2009-10-09 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR fortran/41582
|
||||
|
@ -34,6 +34,11 @@ abstract interface
|
||||
end subroutine
|
||||
end interface
|
||||
|
||||
type t6
|
||||
integer :: i
|
||||
class(t6), allocatable :: foo ! { dg-error "must have the POINTER attribute" }
|
||||
end type t6
|
||||
|
||||
|
||||
class(t1) :: o1 ! { dg-error "must be dummy, allocatable or pointer" }
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user