aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
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
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')
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/resolve.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index ce6857e..53d2691 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,5 +1,10 @@
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>
+
* trans-io.c (gfc_build_io_library_fndecls): Fix decl of
IOCALL_SET_NML_VAL.
(transfer_namelist_element): Use proper int type as argument.
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. */