diff options
author | Janus Weil <janus@gcc.gnu.org> | 2014-02-08 22:32:25 +0100 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2014-02-08 22:32:25 +0100 |
commit | a6cd299b540dd587cf43b6c5baae4db16044a5f6 (patch) | |
tree | 5ae69f4bb8065dba5e5e0c431bebad1ce0c7d929 /gcc/fortran/class.c | |
parent | df3927406e3ca1ed7620332a8608ad4bce4c45c6 (diff) | |
download | gcc-a6cd299b540dd587cf43b6c5baae4db16044a5f6.zip gcc-a6cd299b540dd587cf43b6c5baae4db16044a5f6.tar.gz gcc-a6cd299b540dd587cf43b6c5baae4db16044a5f6.tar.bz2 |
re PR fortran/58470 ([OOP] ICE on invalid with FINAL procedure and type extension)
2014-02-08 Janus Weil <janus@gcc.gnu.org>
Mikael Morin <mikael.morin@gcc.gnu.org>
PR fortran/58470
* class.c (generate_finalization_wrapper): Assert that proc_tree has
been set in gfc_resolve_finalizers.
* resolve.c (resolve_fl_derived0): Remove unnecessary call to
gfc_is_finalizable.
2014-02-08 Janus Weil <janus@gcc.gnu.org>
PR fortran/58470
* gfortran.dg/finalize_22.f90: New.
Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>
From-SVN: r207636
Diffstat (limited to 'gcc/fortran/class.c')
-rw-r--r-- | gcc/fortran/class.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c index d3569fd..8af9172 100644 --- a/gcc/fortran/class.c +++ b/gcc/fortran/class.c @@ -1880,8 +1880,7 @@ generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns, for (fini = derived->f2k_derived->finalizers; fini; fini = fini->next) { - if (!fini->proc_tree) - fini->proc_tree = gfc_find_sym_in_symtree (fini->proc_sym); + gcc_assert (fini->proc_tree); /* Should have been set in gfc_resolve_finalizers. */ if (fini->proc_tree->n.sym->attr.elemental) { fini_elem = fini; |