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

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Jan 28 10:51:00 GMT 2012


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?



More information about the Gcc-bugs mailing list