diff options
author | Tobias Burnus <burnus@net-b.de> | 2011-12-15 16:18:33 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2011-12-15 16:18:33 +0100 |
commit | 0c5c7b003e8dec16f3cb887aa08c7f5241ee6fcc (patch) | |
tree | 4c0b4bee0841fb6d8c38be6a94642ea26b78a058 /gcc/fortran/resolve.c | |
parent | 492792ed9b7a3b6ce5f595b2dc848eb2dae8116f (diff) | |
download | gcc-0c5c7b003e8dec16f3cb887aa08c7f5241ee6fcc.zip gcc-0c5c7b003e8dec16f3cb887aa08c7f5241ee6fcc.tar.gz gcc-0c5c7b003e8dec16f3cb887aa08c7f5241ee6fcc.tar.bz2 |
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
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index b4a9d1c..b12efe0 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -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 |