https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95647

--- Comment #4 from Steve Kargl <sgk at troutmask dot apl.washington.edu> ---
On Sat, Jun 13, 2020 at 08:11:22AM +0000, tkoenig at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95647
> 
> --- Comment #3 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
> If we treat .eq. and == differently, that is an indication
> of a bug in the compiler itself.

If a user provides an overloading of .eq. or == with an
INTERFACE OPERATOR() statement, then things appear to work.

The IEEE modules are not provided by a user and for parts of
the modules gfortran builts the needed the pieces at compile
time.  gfortran also marks symbols as coming from an IEEE
module for special handling.  For whatever reason, with the
IEEE_ARITHMETICi module if the interface is given in terms
of ==, it is not overloaded to .eq.; while for the converse
.eq. is overloaded to ==.

The purposed patch fixes this issue.

Reply via email to