aboutsummaryrefslogtreecommitdiff
path: root/gcc/value-range.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/value-range.cc')
-rw-r--r--gcc/value-range.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/value-range.cc b/gcc/value-range.cc
index a14f9bc..26a2b78 100644
--- a/gcc/value-range.cc
+++ b/gcc/value-range.cc
@@ -779,7 +779,7 @@ frange::set_nonnegative (tree type)
// Set +NAN as the only possibility.
if (HONOR_NANS (type))
- update_nan (/*sign=*/0);
+ update_nan (/*sign=*/false);
}
// Here we copy between any two irange's. The ranges can be legacy or
@@ -2903,6 +2903,11 @@ irange::set_range_from_nonzero_bits ()
}
return true;
}
+ else if (popcount == 0)
+ {
+ set_zero (type ());
+ return true;
+ }
return false;
}