diff options
author | Tobias Burnus <burnus@net-b.de> | 2014-08-17 18:42:19 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2014-08-17 18:42:19 +0200 |
commit | 19fe965886cfe7a3073f0cf6dc2d3150c998487b (patch) | |
tree | 1dbe921351556015551e12beed3778f002868b5a /gcc/fortran/resolve.c | |
parent | 0522a84e51daf9269ab563b12bf7de458970a263 (diff) | |
download | gcc-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.c | 4 |
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. */ |