This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/52024] [OOP] GENERIC operator cannot be resolved
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 28 Jan 2012 09:51:55 +0000
- Subject: [Bug fortran/52024] [OOP] GENERIC operator cannot be resolved
- Auto-submitted: auto-generated
- References: <bug-52024-4@http.gcc.gnu.org/bugzilla/>
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?