http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52024
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |rejects-valid
Status|UNCONFIRMED |NEW
Last reconfirmed| |2012-01-28
CC| |burnus at gcc dot gnu.org
Ever Confirmed|0 |1
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-01-28
09:38:52 UTC ---
It works if one uses the very similar:
interface operator (==)
module procedure t_equal_i
module procedure i_equal_t
end interface
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.
Note that the current ambiguity check fails to diagnose ambiguity between
GENERIC and INTERFACE, cf. PR 41951. Which might be fixed at the same time.