re PR fortran/51550 (ICE in gfc_get_derived_type, at fortran/trans-types.c:2401)

2011-12-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51550
        PR fortran/47545
        PR fortran/49050
        PR fortran/51075
        * resolve.c (resolve_fl_derived0): Print not-implemented error
        for deferred-length character components.

From-SVN: r182372
This commit is contained in:
Tobias Burnus 2011-12-15 16:18:33 +01:00 committed by Tobias Burnus
parent 492792ed9b
commit 0c5c7b003e
2 changed files with 17 additions and 0 deletions

View File

@ -1,3 +1,12 @@
2011-12-15 Tobias Burnus <burnus@net-b.de>
PR fortran/51550
PR fortran/47545
PR fortran/49050
PR fortran/51075
* resolve.c (resolve_fl_derived0): Print not-implemented error
for deferred-length character components.
2011-12-15 Tobias Burnus <burnus@net-b.de>
* primary.c (gfc_match_varspec): Match array spec for

View File

@ -11432,6 +11432,14 @@ resolve_fl_derived0 (gfc_symbol *sym)
for (c = sym->components; c != NULL; c = c->next)
{
/* See PRs 51550, 47545, 48654, 49050, 51075 - and 45170. */
if (c->ts.type == BT_CHARACTER && c->ts.deferred)
{
gfc_error ("Deferred-length character component '%s' at %L is not "
"yet supported", c->name, &c->loc);
return FAILURE;
}
/* F2008, C442. */
if ((!sym->attr.is_class || c != sym->components)
&& c->attr.codimension