diff options
author | Janus Weil <janus@gcc.gnu.org> | 2013-04-01 17:11:01 +0200 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2013-04-01 17:11:01 +0200 |
commit | c03e6b5279af591a5d4307212c1d1983515f3588 (patch) | |
tree | 114a4fb74107b03a1e46eef2f68c14b30ce7aae9 /gcc/fortran | |
parent | 5717a8d48e4d4e28d22b4a69b7f86965cc2cc5c2 (diff) | |
download | gcc-c03e6b5279af591a5d4307212c1d1983515f3588.zip gcc-c03e6b5279af591a5d4307212c1d1983515f3588.tar.gz gcc-c03e6b5279af591a5d4307212c1d1983515f3588.tar.bz2 |
re PR fortran/56500 ([OOP] "IMPLICIT CLASS(...)" wrongly rejected)
2013-04-01 Janus Weil <janus@gcc.gnu.org>
PR fortran/56500
* symbol.c (gfc_set_default_type): Build class container for
IMPLICIT CLASS.
2013-04-01 Janus Weil <janus@gcc.gnu.org>
PR fortran/56500
* gfortran.dg/implicit_class_1.f90: New.
From-SVN: r197306
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/symbol.c | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 92a5f00..7f9a1a5 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2013-04-01 Janus Weil <janus@gcc.gnu.org> + + PR fortran/56500 + * symbol.c (gfc_set_default_type): Build class container for + IMPLICIT CLASS. + 2013-03-31 Tobias Burnus <burnus@net-b.de> * class.c (finalization_scalarizer, finalizer_insert_packed_call, diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c index ec64231..6fc5812 100644 --- a/gcc/fortran/symbol.c +++ b/gcc/fortran/symbol.c @@ -261,6 +261,10 @@ gfc_set_default_type (gfc_symbol *sym, int error_flag, gfc_namespace *ns) if (ts->type == BT_CHARACTER && ts->u.cl) sym->ts.u.cl = gfc_new_charlen (sym->ns, ts->u.cl); + else if (ts->type == BT_CLASS + && gfc_build_class_symbol (&sym->ts, &sym->attr, + &sym->as, false) == FAILURE) + return FAILURE; if (sym->attr.is_bind_c == 1 && gfc_option.warn_c_binding_type) { |