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; }