From: Richard Kenner Date: Sat, 7 Dec 1996 22:54:59 +0000 (-0500) Subject: (merge_ranges): In (+,-) case, if lower bounds are the same the result X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d4fcc6365e9631f82670dcbb5ab5d425376d7def;p=gcc.git (merge_ranges): In (+,-) case, if lower bounds are the same the result is always false. From-SVN: r13236 --- 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 {