aboutsummaryrefslogtreecommitdiff
path: root/gcc/range-op-float.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/range-op-float.cc')
-rw-r--r--gcc/range-op-float.cc32
1 files changed, 16 insertions, 16 deletions
diff --git a/gcc/range-op-float.cc b/gcc/range-op-float.cc
index 41d497e..e0e91ba 100644
--- a/gcc/range-op-float.cc
+++ b/gcc/range-op-float.cc
@@ -886,7 +886,7 @@ foperator_lt::op1_range (frange &r,
case BRS_FALSE:
// On the FALSE side of x < NAN, we know nothing about x.
- if (op2.known_isnan ())
+ if (op2.known_isnan () || op2.maybe_isnan ())
r.set_varying (type);
else
build_ge (r, type, op2);
@@ -923,7 +923,7 @@ foperator_lt::op2_range (frange &r,
case BRS_FALSE:
// On the FALSE side of NAN < x, we know nothing about x.
- if (op1.known_isnan ())
+ if (op1.known_isnan () || op1.maybe_isnan ())
r.set_varying (type);
else
build_le (r, type, op1);
@@ -998,7 +998,7 @@ foperator_le::op1_range (frange &r,
case BRS_FALSE:
// On the FALSE side of x <= NAN, we know nothing about x.
- if (op2.known_isnan ())
+ if (op2.known_isnan () || op2.maybe_isnan ())
r.set_varying (type);
else
build_gt (r, type, op2);
@@ -1031,7 +1031,7 @@ foperator_le::op2_range (frange &r,
case BRS_FALSE:
// On the FALSE side of NAN <= x, we know nothing about x.
- if (op1.known_isnan ())
+ if (op1.known_isnan () || op1.maybe_isnan ())
r.set_varying (type);
else if (op1.undefined_p ())
return false;
@@ -1112,7 +1112,7 @@ foperator_gt::op1_range (frange &r,
case BRS_FALSE:
// On the FALSE side of x > NAN, we know nothing about x.
- if (op2.known_isnan ())
+ if (op2.known_isnan () || op2.maybe_isnan ())
r.set_varying (type);
else if (op2.undefined_p ())
return false;
@@ -1151,7 +1151,7 @@ foperator_gt::op2_range (frange &r,
case BRS_FALSE:
// On The FALSE side of NAN > x, we know nothing about x.
- if (op1.known_isnan ())
+ if (op1.known_isnan () || op1.maybe_isnan ())
r.set_varying (type);
else if (op1.undefined_p ())
return false;
@@ -1228,7 +1228,7 @@ foperator_ge::op1_range (frange &r,
case BRS_FALSE:
// On the FALSE side of x >= NAN, we know nothing about x.
- if (op2.known_isnan ())
+ if (op2.known_isnan () || op2.maybe_isnan ())
r.set_varying (type);
else if (op2.undefined_p ())
return false;
@@ -1262,7 +1262,7 @@ foperator_ge::op2_range (frange &r, tree type,
case BRS_FALSE:
// On the FALSE side of NAN >= x, we know nothing about x.
- if (op1.known_isnan ())
+ if (op1.known_isnan () || op1.maybe_isnan ())
r.set_varying (type);
else if (op1.undefined_p ())
return false;
@@ -1618,7 +1618,7 @@ foperator_unordered_lt::op1_range (frange &r, tree type,
switch (get_bool_state (r, lhs, type))
{
case BRS_TRUE:
- if (op2.known_isnan ())
+ if (op2.known_isnan () || op2.maybe_isnan ())
r.set_varying (type);
else if (op2.undefined_p ())
return false;
@@ -1652,7 +1652,7 @@ foperator_unordered_lt::op2_range (frange &r, tree type,
switch (get_bool_state (r, lhs, type))
{
case BRS_TRUE:
- if (op1.known_isnan ())
+ if (op1.known_isnan () || op1.maybe_isnan ())
r.set_varying (type);
else if (op1.undefined_p ())
return false;
@@ -1726,7 +1726,7 @@ foperator_unordered_le::op1_range (frange &r, tree type,
switch (get_bool_state (r, lhs, type))
{
case BRS_TRUE:
- if (op2.known_isnan ())
+ if (op2.known_isnan () || op2.maybe_isnan ())
r.set_varying (type);
else if (op2.undefined_p ())
return false;
@@ -1759,7 +1759,7 @@ foperator_unordered_le::op2_range (frange &r,
switch (get_bool_state (r, lhs, type))
{
case BRS_TRUE:
- if (op1.known_isnan ())
+ if (op1.known_isnan () || op1.maybe_isnan ())
r.set_varying (type);
else if (op1.undefined_p ())
return false;
@@ -1835,7 +1835,7 @@ foperator_unordered_gt::op1_range (frange &r,
switch (get_bool_state (r, lhs, type))
{
case BRS_TRUE:
- if (op2.known_isnan ())
+ if (op2.known_isnan () || op2.maybe_isnan ())
r.set_varying (type);
else if (op2.undefined_p ())
return false;
@@ -1870,7 +1870,7 @@ foperator_unordered_gt::op2_range (frange &r,
switch (get_bool_state (r, lhs, type))
{
case BRS_TRUE:
- if (op1.known_isnan ())
+ if (op1.known_isnan () || op1.maybe_isnan ())
r.set_varying (type);
else if (op1.undefined_p ())
return false;
@@ -1946,7 +1946,7 @@ foperator_unordered_ge::op1_range (frange &r,
switch (get_bool_state (r, lhs, type))
{
case BRS_TRUE:
- if (op2.known_isnan ())
+ if (op2.known_isnan () || op2.maybe_isnan ())
r.set_varying (type);
else if (op2.undefined_p ())
return false;
@@ -1980,7 +1980,7 @@ foperator_unordered_ge::op2_range (frange &r, tree type,
switch (get_bool_state (r, lhs, type))
{
case BRS_TRUE:
- if (op1.known_isnan ())
+ if (op1.known_isnan () || op1.maybe_isnan ())
r.set_varying (type);
else if (op1.undefined_p ())
return false;