diff options
author | Tobias Burnus <burnus@net-b.de> | 2012-01-25 18:34:39 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2012-01-25 18:34:39 +0100 |
commit | f5a5c890825b2792696370183132cfba6727f1c0 (patch) | |
tree | 57df87f21f14e09a462a4846106036f7f01dadea /gcc/fortran/class.c | |
parent | b3310d490144dd291d0e26279e5bf70772ea2da9 (diff) | |
download | gcc-f5a5c890825b2792696370183132cfba6727f1c0.zip gcc-f5a5c890825b2792696370183132cfba6727f1c0.tar.gz gcc-f5a5c890825b2792696370183132cfba6727f1c0.tar.bz2 |
re PR fortran/51995 ([OOP] Polymorphic class fails at runtime)
2012-01-25 Tobias Burnus <burnus@net-b.de>
PR fortran/51995
* class.c (gfc_build_class_symbol): Ensure that
fclass->f2k_derived is set.
2012-01-25 Tobias Burnus <burnus@net-b.de>
PR fortran/51995
* gfortran.dg/typebound_proc_25.f90: New.
From-SVN: r183528
Diffstat (limited to 'gcc/fortran/class.c')
-rw-r--r-- | gcc/fortran/class.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c index 5e5de14..92cfef7 100644 --- a/gcc/fortran/class.c +++ b/gcc/fortran/class.c @@ -421,6 +421,8 @@ gfc_build_class_symbol (gfc_typespec *ts, symbol_attribute *attr, c->attr.access = ACCESS_PRIVATE; c->attr.pointer = 1; } + else if (!fclass->f2k_derived) + fclass->f2k_derived = fclass->components->ts.u.derived->f2k_derived; /* Since the extension field is 8 bit wide, we can only have up to 255 extension levels. */ |