[gcc r13-2742] frange::maybe_isnan() should return FALSE for undefined ranges.

Aldy Hernandez aldyh@gcc.gnu.org
Tue Sep 20 18:22:53 GMT 2022


https://gcc.gnu.org/g:2438b6a4c8df0d1870881e123cc74cc62b7e58e8

commit r13-2742-g2438b6a4c8df0d1870881e123cc74cc62b7e58e8
Author: Aldy Hernandez <aldyh@redhat.com>
Date:   Tue Sep 20 16:09:31 2022 +0200

    frange::maybe_isnan() should return FALSE for undefined ranges.
    
    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.

Diff:
---
 gcc/value-range.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gcc/value-range.h b/gcc/value-range.h
index 7d5584a9294..325ed08f290 100644
--- a/gcc/value-range.h
+++ b/gcc/value-range.h
@@ -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;
 }


More information about the Gcc-cvs mailing list