diff options
author | Tobias Burnus <burnus@net-b.de> | 2012-05-07 10:35:17 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2012-05-07 10:35:17 +0200 |
commit | e3a2ec56bc0b746311ed9a705eeef1f59e3e5a16 (patch) | |
tree | ab8adc6520cf69d65c86596388c3008bfca8695c /gcc/fortran/resolve.c | |
parent | 6b3f712e2148384800838edfda032b9eb7345846 (diff) | |
download | gcc-e3a2ec56bc0b746311ed9a705eeef1f59e3e5a16.zip gcc-e3a2ec56bc0b746311ed9a705eeef1f59e3e5a16.tar.gz gcc-e3a2ec56bc0b746311ed9a705eeef1f59e3e5a16.tar.bz2 |
re PR fortran/53255 ([OOP] With TYPE, wrong type-bound operator used: of parent instead of overridden one)
2012-05-07 Tobias Burnus <burnus@net-b.de>
PR fortran/53255
* resolve.c (resolve_typebound_static): Fix handling
of overridden specific to generic operator.
2012-05-07 Tobias Burnus <burnus@net-b.de>
PR fortran/53255
* gfortran.dg/typebound_operator_15.f90: New.
From-SVN: r187226
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index e5a49bc..b3a23ed 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -5671,12 +5671,11 @@ resolve_typebound_static (gfc_expr* e, gfc_symtree** target, e->value.compcall.actual = NULL; /* If we find a deferred typebound procedure, check for derived types - that an over-riding typebound procedure has not been missed. */ - if (e->value.compcall.tbp->deferred - && e->value.compcall.name - && !e->value.compcall.tbp->non_overridable - && e->value.compcall.base_object - && e->value.compcall.base_object->ts.type == BT_DERIVED) + that an overriding typebound procedure has not been missed. */ + if (e->value.compcall.name + && !e->value.compcall.tbp->non_overridable + && e->value.compcall.base_object + && e->value.compcall.base_object->ts.type == BT_DERIVED) { gfc_symtree *st; gfc_symbol *derived; |