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 | |
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')
-rw-r--r-- | gcc/fortran/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/fortran/class.c | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 70bd5ee..b6adf23 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,4 +1,10 @@ -2012-01-24 Tobias Burnus <burnus@net-b.de> +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/51966 * resolve.c (resolve_structure_cons): Only create an 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. */ |