aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2014-08-17 18:42:19 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2014-08-17 18:42:19 +0200
commit19fe965886cfe7a3073f0cf6dc2d3150c998487b (patch)
tree1dbe921351556015551e12beed3778f002868b5a /gcc/fortran/resolve.c
parent0522a84e51daf9269ab563b12bf7de458970a263 (diff)
downloadgcc-19fe965886cfe7a3073f0cf6dc2d3150c998487b.zip
gcc-19fe965886cfe7a3073f0cf6dc2d3150c998487b.tar.gz
gcc-19fe965886cfe7a3073f0cf6dc2d3150c998487b.tar.bz2
resolve.c (gfc_resolve_finalizers): Ensure that parents are resolved first.
2014-08-17 Tobias Burnus <burnus@net-b.de> * resolve.c (gfc_resolve_finalizers): Ensure that parents are resolved first. 2014-08-17 Tobias Burnus <burnus@net-b.de> * gfortran.dg/finalize_27.f90: New. From-SVN: r214076
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index ea28ef4..32ff9dd 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -11416,6 +11416,10 @@ gfc_resolve_finalizers (gfc_symbol* derived, bool *finalizable)
bool seen_scalar = false;
gfc_symbol *vtab;
gfc_component *c;
+ gfc_symbol *parent = gfc_get_derived_super_type (derived);
+
+ if (parent)
+ gfc_resolve_finalizers (parent, finalizable);
/* Return early when not finalizable. Additionally, ensure that derived-type
components have a their finalizables resolved. */