aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2022-11-09 16:35:40 +0100
committerAldy Hernandez <aldyh@redhat.com>2022-11-09 16:56:21 +0100
commit8bb3f172d33e319a6c15c4285f820b9f152d990e (patch)
tree99ad3fcdb31e4a53c7d581bbf1f1e0570faec727 /gcc
parentace0ae09332bbc6b95e084c2c2b17c466339ff76 (diff)
downloadgcc-8bb3f172d33e319a6c15c4285f820b9f152d990e.zip
gcc-8bb3f172d33e319a6c15c4285f820b9f152d990e.tar.gz
gcc-8bb3f172d33e319a6c15c4285f820b9f152d990e.tar.bz2
Revert op[12]_range operators for PLUS_EXPR and MINUS_EXPR.
Revert the patch below until issues are resolved: commit 4287e8168f89e90b3dff3a50f3ada40be53e0e01 Author: Aldy Hernandez <aldyh@redhat.com> Date: Wed Nov 9 01:00:57 2022 +0100 Implement op[12]_range operators for PLUS_EXPR and MINUS_EXPR. We can implement the op[12]_range entries for plus and minus in terms of each other. These are adapted from the integer versions. gcc/ChangeLog: * range-op-float.cc (class foperator_plus): Remove op[12]_range. (class foperator_minus): Same.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/range-op-float.cc45
1 files changed, 0 insertions, 45 deletions
diff --git a/gcc/range-op-float.cc b/gcc/range-op-float.cc
index cc80643..380142b 100644
--- a/gcc/range-op-float.cc
+++ b/gcc/range-op-float.cc
@@ -1863,29 +1863,6 @@ foperator_unordered_equal::op1_range (frange &r, tree type,
class foperator_plus : public range_operator_float
{
- using range_operator_float::op1_range;
- using range_operator_float::op2_range;
-public:
- virtual bool op1_range (frange &r, tree type,
- const frange &lhs,
- const frange &op2,
- relation_trio = TRIO_VARYING) const final override
- {
- if (lhs.undefined_p ())
- return false;
- range_op_handler minus (MINUS_EXPR, type);
- if (!minus)
- return false;
- return minus.fold_range (r, type, lhs, op2);
- }
- virtual bool op2_range (frange &r, tree type,
- const frange &lhs,
- const frange &op1,
- relation_trio = TRIO_VARYING) const final override
- {
- return op1_range (r, type, lhs, op1);
- }
-private:
void rv_fold (REAL_VALUE_TYPE &lb, REAL_VALUE_TYPE &ub, bool &maybe_nan,
tree type,
const REAL_VALUE_TYPE &lh_lb,
@@ -1910,28 +1887,6 @@ private:
class foperator_minus : public range_operator_float
{
- using range_operator_float::op1_range;
- using range_operator_float::op2_range;
-public:
- virtual bool op1_range (frange &r, tree type,
- const frange &lhs,
- const frange &op2,
- relation_trio = TRIO_VARYING) const final override
- {
- if (lhs.undefined_p ())
- return false;
- return fop_plus.fold_range (r, type, lhs, op2);
- }
- virtual bool op2_range (frange &r, tree type,
- const frange &lhs,
- const frange &op1,
- relation_trio = TRIO_VARYING) const final override
- {
- if (lhs.undefined_p ())
- return false;
- return fold_range (r, type, op1, lhs);
- }
-private:
void rv_fold (REAL_VALUE_TYPE &lb, REAL_VALUE_TYPE &ub, bool &maybe_nan,
tree type,
const REAL_VALUE_TYPE &lh_lb,