frange::maybe_isnan() should return FALSE for undefined ranges.
authorAldy Hernandez <aldyh@redhat.com>
Tue, 20 Sep 2022 14:09:31 +0000 (16:09 +0200)
committerAldy Hernandez <aldyh@redhat.com>
Tue, 20 Sep 2022 18:21:09 +0000 (20:21 +0200)
Undefined ranges have undefined NAN bits.  We can't depend on them,
as they may contain garbage.  This patch returns false from
maybe_isnan() for undefined ranges (the empty set).

gcc/ChangeLog:

* value-range.h (frange::maybe_isnan): Return false for
undefined ranges.

gcc/value-range.h

index 7d5584a..325ed08 100644 (file)
@@ -1210,6 +1210,8 @@ frange::known_isinf () const
 inline bool
 frange::maybe_isnan () const
 {
+  if (undefined_p ())
+    return false;
   return m_pos_nan || m_neg_nan;
 }