http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45786
kargl at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kargl at gcc dot gnu.org --- Comment #1 from kargl at gcc dot gnu.org 2010-09-25 00:16:43 UTC --- (In reply to comment #0) > The first paragraph of 7.2 in the standard states that "The operators <, ... > always have the same interpretations as the operators .LT., ..." Consider the > following example: > > module foo_type > private > public :: foo, operator(==) Interesting. If you replace == with .eq. in the the above everything works as expected. Interesting**2. If you leave the public statement intact, and change the .eq. in the following to == > interface operator(.eq.) > module procedure eq_foo > end interface everything works as expected. Interesting**3. If you simply remove the private and public statement then everything works as one would expect. And finally, an even more interesting bug. Change the interface statement to interface operator(.eq.) module procedure eq_foo end interface operator(==) This gives h.f90:7.28: end interface operator(==) 1 Error: Expecting 'END INTERFACE OPERATOR (.eq.)' at (1) h.f90:8.10: The above violates C1202. -- Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.