I know it's past the end of stage1, but I'm afraid we'll drag this
around forever in the GCC12 branch, and it's an easy readbility fix.

p.s. Or if you prefer:

if (!lb_nan && !ub_nan && !maybe_nan && ....)
  r.clear_nan ();

OK for trunk?

gcc/ChangeLog:

        * range-op-float.cc (range_operator_float::fold_range): Make check
        for maybe_isnan more readable.
---
 gcc/range-op-float.cc | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gcc/range-op-float.cc b/gcc/range-op-float.cc
index 53a0928c6aa..86107e16553 100644
--- a/gcc/range-op-float.cc
+++ b/gcc/range-op-float.cc
@@ -83,10 +83,12 @@ range_operator_float::fold_range (frange &r, tree type,
 
   r.set (type, lb, ub);
 
-  if (lb_nan || ub_nan || maybe_nan)
+  if (lb_nan || ub_nan || maybe_nan
+      || op1.maybe_isnan ()
+      || op2.maybe_isnan ())
     // Keep the default NAN (with a varying sign) set by the setter.
     ;
-  else if (!op1.maybe_isnan () && !op2.maybe_isnan ())
+  else
     r.clear_nan ();
 
   return true;
-- 
2.38.1

Reply via email to