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.

Reply via email to