http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54195
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |janus at gcc dot gnu.org
|gnu.org |
--- Comment #5 from janus at gcc dot gnu.org 2012-08-07 20:57:47 UTC ---
Second attempt:
Index: gcc/fortran/resolve.c
===================================================================
--- gcc/fortran/resolve.c (revision 190186)
+++ gcc/fortran/resolve.c (working copy)
@@ -11448,7 +11448,7 @@ resolve_typebound_intrinsic_op (gfc_symbol* derive
/* Add target to non-typebound operator list. */
if (!target->specific->deferred && !derived->attr.use_assoc
- && p->access != ACCESS_PRIVATE)
+ && p->access != ACCESS_PRIVATE && derived->ns == gfc_current_ns)
{
gfc_interface *head, *intr;
if (gfc_check_new_interface (derived->ns->op[op], target_proc,
As the first attempt, it fixes the error in comment 0 and survives the
typebound_* test cases, but it also results in the code in question being
called exactly once for the test case in comment 0.
Will start a full regtest now ...