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

--- Comment #8 from janus at gcc dot gnu.org ---
(In reply to Manuel López-Ibáñez from comment #2)
> Im sure there are more...

One more case that I just ran across by coincidence (from resolve.c):


          if (warn_compare_reals)
            {
              gfc_intrinsic_op op = e->value.op.op;

              /* Type conversion has made sure that the types of op1 and op2
                 agree, so it is only necessary to check the first one.   */
              if ((op1->ts.type == BT_REAL || op1->ts.type == BT_COMPLEX)
                  && (op == INTRINSIC_EQ || op == INTRINSIC_EQ_OS
                      || op == INTRINSIC_NE || op == INTRINSIC_NE_OS))
                {
                  const char *msg;

                  if (op == INTRINSIC_EQ || op == INTRINSIC_EQ_OS)
                    msg = "Equality comparison for %s at %L";
                  else
                    msg = "Inequality comparison for %s at %L";

                  gfc_warning (0, msg, gfc_typename (&op1->ts), &op1->where);
                }
            }

Reply via email to