[Bug fortran/46244] gfc_compare_derived_types is buggy
burnus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Nov 6 13:00:00 GMT 2010
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46244
--- Comment #9 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-06 13:00:27 UTC ---
(In reply to comment #8)
> (In reply to comment #7)
> > type b
> > sequence
> > class(a), pointer :: pa
> > end type b
>
> That's invalid per F2008's C436
combined with C405 + 1.3.147.6. Draft patch:
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -11493,7 +11493,8 @@ resolve_fl_derived (gfc_symbol *sym)
if (sym->attr.sequence)
{
- if (c->ts.type == BT_DERIVED && c->ts.u.derived->attr.sequence == 0)
+ if ((c->ts.type == BT_DERIVED && c->ts.u.derived->attr.sequence == 0)
+ || c->ts.type == BT_CLASS)
{
gfc_error ("Component %s of SEQUENCE type declared at %L does "
"not have the SEQUENCE attribute",
More information about the Gcc-bugs
mailing list