From: Andrew MacLeod Date: Mon, 28 Oct 2024 13:47:03 +0000 (-0400) Subject: Fix bitwise_or logic for prange. X-Git-Tag: basepoints/gcc-16~4831 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c0ecf06c0c9f3268ba52d4027e9b78aae4acb51;p=thirdparty%2Fgcc.git Fix bitwise_or logic for prange. Set non-zero only if at least one of the two operands does not contain zero. * range-op-ptr.cc (operator_bitwise_or::fold_range): Fix logic for setting nonzero. --- diff --git a/gcc/range-op-ptr.cc b/gcc/range-op-ptr.cc index 9f500c52d2c6..ccce05035b96 100644 --- a/gcc/range-op-ptr.cc +++ b/gcc/range-op-ptr.cc @@ -388,7 +388,7 @@ operator_bitwise_or::fold_range (prange &r, tree type, { // For pointer types, we are really only interested in asserting // whether the expression evaluates to non-NULL. - if (!op1.zero_p () || !op2.zero_p ()) + if (!range_includes_zero_p (op1) || !range_includes_zero_p (op2)) r.set_nonzero (type); else if (op1.zero_p () && op2.zero_p ()) r.set_zero (type);