aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2024-10-28 09:47:03 -0400
committerAndrew MacLeod <amacleod@redhat.com>2024-10-28 12:46:55 -0400
commit1c0ecf06c0c9f3268ba52d4027e9b78aae4acb51 (patch)
treec899675db58e4c6443deb01420eaf57bed123704
parent7c0e4963d5de12b44414c82419d3d9e426f718b6 (diff)
downloadgcc-1c0ecf06c0c9f3268ba52d4027e9b78aae4acb51.zip
gcc-1c0ecf06c0c9f3268ba52d4027e9b78aae4acb51.tar.gz
gcc-1c0ecf06c0c9f3268ba52d4027e9b78aae4acb51.tar.bz2
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.
-rw-r--r--gcc/range-op-ptr.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/range-op-ptr.cc b/gcc/range-op-ptr.cc
index 9f500c5..ccce050 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);