From d4fcc6365e9631f82670dcbb5ab5d425376d7def Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sat, 7 Dec 1996 17:54:59 -0500 Subject: [PATCH] (merge_ranges): In (+,-) case, if lower bounds are the same the result is always false. From-SVN: r13236 --- gcc/fold-const.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 2147e2eb553..cc27b58a4cf 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -2976,7 +2976,7 @@ merge_ranges (pin_p, plow, phigh, in0_p, low0, high0, in1_p, low1, high1) /* If they don't overlap, the result is the first range. If the second range is a subset of the first, we can't describe this as a single range unless both ranges end at the same place. If both - ranges also start in the same place, then the result is false. + ranges start in the same place, then the result is false. Otherwise, we go from the start of the first range to just before the start of the second. */ if (no_overlap) @@ -2985,9 +2985,8 @@ merge_ranges (pin_p, plow, phigh, in0_p, low0, high0, in1_p, low1, high1) && integer_zerop (range_binop (EQ_EXPR, integer_type_node, high0, 1, high1, 0))) return 0; - else if (subset - && integer_onep (range_binop (EQ_EXPR, integer_type_node, - low0, 0, low1, 0))) + else if (integer_onep (range_binop (EQ_EXPR, integer_type_node, + low0, 0, low1, 0))) in_p = 0, low = high = 0; else { -- 2.30.2