diff options
author | Tobias Burnus <burnus@net-b.de> | 2012-01-31 19:41:47 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2012-01-31 19:41:47 +0100 |
commit | 218e1228c941cf0e1669610eaf33fdf5c010c3c0 (patch) | |
tree | 6bff3afd3f9d393e15e10848c5abbfe4346820f6 /gcc/fortran/decl.c | |
parent | 0b73eb812e8455701ef3044839f6de2ee895b15b (diff) | |
download | gcc-218e1228c941cf0e1669610eaf33fdf5c010c3c0.zip gcc-218e1228c941cf0e1669610eaf33fdf5c010c3c0.tar.gz gcc-218e1228c941cf0e1669610eaf33fdf5c010c3c0.tar.bz2 |
re PR fortran/52024 ([OOP] GENERIC operator cannot be resolved)
2012-01-31 Tobias Burnus <burnus@net-b.de>
PR fortran/52024
* gfortran.h (gfc_tbp_generic): Store whether the
generic is an operator.
* decl.c (gfc_match_generic): Set that flag.
* resolve.c (check_generic_tbp_ambiguity): Use it in the
gfc_compare_interfaces check.
2012-01-31 Tobias Burnus <burnus@net-b.de>
PR fortran/52024
* gfortran.dg/typebound_generic_11.f90: New.
From-SVN: r183771
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r-- | gcc/fortran/decl.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index c87fc1b..43c558a 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -8391,6 +8391,8 @@ gfc_match_generic (void) target->specific_st = target_st; target->specific = NULL; target->next = tb->u.generic; + target->is_operator = ((op_type == INTERFACE_USER_OP) + || (op_type == INTERFACE_INTRINSIC_OP)); tb->u.generic = target; } while (gfc_match (" ,") == MATCH_YES); |