aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2024-05-10 18:55:34 +0200
committerAldy Hernandez <aldyh@redhat.com>2024-05-11 11:22:46 +0200
commit18c93c65a9fbaaf3762198e78fb3c24b9b6fd9fc (patch)
treeed93ed1d98c32d6b88ea255f8186fa092678da5c
parent45ef24f2702dac4f8707ca682ed364019ee90c44 (diff)
downloadgcc-18c93c65a9fbaaf3762198e78fb3c24b9b6fd9fc.zip
gcc-18c93c65a9fbaaf3762198e78fb3c24b9b6fd9fc.tar.gz
gcc-18c93c65a9fbaaf3762198e78fb3c24b9b6fd9fc.tar.bz2
[prange] Default unimplemented prange operators to false.
The canonical way to indicate that a range operator is unsupported is to return false, which has the sematic meaning of VARYING. This patch cleans up a few default virtuals that were trying harder to set VARYING manually. gcc/ChangeLog: * range-op-ptr.cc (range_operator::fold_range): Return false.
-rw-r--r--gcc/range-op-ptr.cc55
1 files changed, 15 insertions, 40 deletions
diff --git a/gcc/range-op-ptr.cc b/gcc/range-op-ptr.cc
index 466edc6..65cca65 100644
--- a/gcc/range-op-ptr.cc
+++ b/gcc/range-op-ptr.cc
@@ -62,63 +62,38 @@ range_operator::pointers_handled_p (range_op_dispatch_type ATTRIBUTE_UNUSED,
}
bool
-range_operator::fold_range (prange &r, tree type,
- const prange &op1,
- const prange &op2,
- relation_trio trio) const
+range_operator::fold_range (prange &, tree, const prange &, const prange &,
+ relation_trio) const
{
- relation_kind rel = trio.op1_op2 ();
- r.set_varying (type);
- op1_op2_relation_effect (r, type, op1, op2, rel);
- return true;
+ return false;
}
bool
-range_operator::fold_range (prange &r, tree type,
- const prange &op1,
- const irange &op2,
- relation_trio trio) const
+range_operator::fold_range (prange &, tree, const prange &, const irange &,
+ relation_trio) const
{
- relation_kind rel = trio.op1_op2 ();
- r.set_varying (type);
- op1_op2_relation_effect (r, type, op1, op2, rel);
- return true;
+ return false;
}
bool
-range_operator::fold_range (irange &r, tree type,
- const prange &op1,
- const prange &op2,
- relation_trio trio) const
+range_operator::fold_range (irange &, tree, const prange &, const prange &,
+ relation_trio) const
{
- relation_kind rel = trio.op1_op2 ();
- r.set_varying (type);
- op1_op2_relation_effect (r, type, op1, op2, rel);
- return true;
+ return false;
}
bool
-range_operator::fold_range (prange &r, tree type,
- const irange &op1,
- const prange &op2,
- relation_trio trio) const
+range_operator::fold_range (prange &, tree, const irange &, const prange &,
+ relation_trio) const
{
- relation_kind rel = trio.op1_op2 ();
- r.set_varying (type);
- op1_op2_relation_effect (r, type, op1, op2, rel);
- return true;
+ return false;
}
bool
-range_operator::fold_range (irange &r, tree type,
- const prange &op1,
- const irange &op2,
- relation_trio trio) const
+range_operator::fold_range (irange &, tree, const prange &, const irange &,
+ relation_trio) const
{
- relation_kind rel = trio.op1_op2 ();
- r.set_varying (type);
- op1_op2_relation_effect (r, type, op1, op2, rel);
- return true;
+ return false;
}
bool