@@ -1246,11 +1246,13 @@ irange::irange_single_pair_union (const irange &r)
return true;
}
-// union_ for multi-ranges.
+// Return TRUE if anything changes.
bool
-irange::irange_union (const irange &r)
+irange::union_ (const vrange &v)
{
+ const irange &r = as_a <irange> (v);
+
if (r.undefined_p ())
return false;
@@ -1415,11 +1417,12 @@ irange::irange_contains_p (const irange &r) const
}
-// Intersect for multi-ranges. Return TRUE if anything changes.
+// Return TRUE if anything changes.
bool
-irange::irange_intersect (const irange &r)
+irange::intersect (const vrange &v)
{
+ const irange &r = as_a <irange> (v);
gcc_checking_assert (undefined_p () || r.undefined_p ()
|| range_compatible_p (type (), r.type ()));
@@ -170,8 +170,6 @@ protected:
irange (tree *, unsigned);
// In-place operators.
- bool irange_union (const irange &);
- bool irange_intersect (const irange &);
void irange_set (tree, tree);
void irange_set_anti_range (tree, tree);
bool irange_contains_p (const irange &) const;
@@ -903,18 +901,6 @@ irange::upper_bound () const
return upper_bound (pairs - 1);
}
-inline bool
-irange::union_ (const vrange &r)
-{
- return irange_union (as_a <irange> (r));
-}
-
-inline bool
-irange::intersect (const vrange &r)
-{
- return irange_intersect (as_a <irange> (r));
-}
-
// Set value range VR to a nonzero range of type TYPE.
inline void