This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/52024] [OOP] GENERIC operator cannot be resolved


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52024

--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-01-28 09:51:55 UTC ---
(In reply to comment #2)
> While for GENERIC, one calls in resolve.c's check_generic_tbp_ambiguity:
>   if (gfc_compare_interfaces (sym1, sym2, sym2->name, 1, 0, NULL, 0))
> 
> The INTERFACE is checked via interface.c's "gfc_check_interfaces (gfc_namespace
> *ns)", which calls "check_interface1" for the actual check.

The latter uses:

        && gfc_compare_interfaces (p->sym, q->sym, q->sym->name,
                       generic_flag, 0, NULL, 0))

while it looks the same, it turns out that "generic_flag" is 0. If one uses "0"
also for the GENERIC version, everything works as expected (i.e. no error for
this version, an error if one swaps the dummy argument order). The question is
only: What does that "generic_flag" actually do?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]