aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2012-05-07 10:35:17 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2012-05-07 10:35:17 +0200
commite3a2ec56bc0b746311ed9a705eeef1f59e3e5a16 (patch)
treeab8adc6520cf69d65c86596388c3008bfca8695c /gcc/fortran/resolve.c
parent6b3f712e2148384800838edfda032b9eb7345846 (diff)
downloadgcc-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.c11
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;