aboutsummaryrefslogtreecommitdiff
path: root/gcc/range-op-mixed.h
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2024-10-23 10:59:13 -0400
committerAndrew MacLeod <amacleod@redhat.com>2024-10-24 08:49:29 -0400
commitf24e10876689dcd92b05756bd3ec833ddf1e6b7e (patch)
tree41cb2bde67b2a5db158af27f34476b9c8d1edc6b /gcc/range-op-mixed.h
parentf9d94c1d5cf051350a39a9816f35cf94d351f6da (diff)
downloadgcc-f24e10876689dcd92b05756bd3ec833ddf1e6b7e.zip
gcc-f24e10876689dcd92b05756bd3ec833ddf1e6b7e.tar.gz
gcc-f24e10876689dcd92b05756bd3ec833ddf1e6b7e.tar.bz2
Implement pointer_or_operator.
The class pointer_or is no longer used, and can be removed. Its functionality was never moved to the new dispatch system. This implements operator_bitwise_or::fold_range() for prange operands. * range-op-mixed.h (operator_bitwise_or::fold_range): Add prange variant. * range-op-ptr.cc (class pointer_or_operator): Remove. (pointer_or_operator::op1_range): Remove. (pointer_or_operator::op2_range): Remove. (pointer_or_operator::wi_fold): Remove. (operator_bitwise_or::fold_range): New prange variant.
Diffstat (limited to 'gcc/range-op-mixed.h')
-rw-r--r--gcc/range-op-mixed.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/range-op-mixed.h b/gcc/range-op-mixed.h
index cc1db2f..f7c447d 100644
--- a/gcc/range-op-mixed.h
+++ b/gcc/range-op-mixed.h
@@ -809,9 +809,15 @@ protected:
class operator_bitwise_or : public range_operator
{
public:
+ using range_operator::fold_range;
using range_operator::op1_range;
using range_operator::op2_range;
using range_operator::update_bitmask;
+
+ bool fold_range (prange &r, tree type,
+ const prange &op1,
+ const prange &op2,
+ relation_trio) const final override;
bool op1_range (irange &r, tree type,
const irange &lhs, const irange &op2,
relation_trio rel = TRIO_VARYING) const override;