https://gcc.gnu.org/g:b76779c7cd6b92f167a80f16f11f599eea4dfc67

commit r16-1600-gb76779c7cd6b92f167a80f16f11f599eea4dfc67
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Sat Jun 21 16:09:08 2025 +0200

    value-range: Use int instead of uint for wi::ctz result [PR120746]
    
    uint is some compatibility type in glibc sys/types.h enabled in misc/GNU
    modes, so it doesn't exist on many hosts.
    Furthermore, wi::ctz returns int rather than unsigned and the var is
    only used in comparison to zero or as second argument of left shift, so
    I think just using int instead of unsigned is better.
    
    2025-06-21  Jakub Jelinek  <ja...@redhat.com>
    
            PR middle-end/120746
            * value-range.cc (irange::snap): Use int type instead of uint.

Diff:
---
 gcc/value-range.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/value-range.cc b/gcc/value-range.cc
index ce13acc312d2..23a5c66ed5e3 100644
--- a/gcc/value-range.cc
+++ b/gcc/value-range.cc
@@ -2287,7 +2287,7 @@ bool
 irange::snap (const wide_int &lb, const wide_int &ub,
              wide_int &new_lb, wide_int &new_ub)
 {
-  uint z = wi::ctz (m_bitmask.mask ());
+  int z = wi::ctz (m_bitmask.mask ());
   if (z == 0)
     return false;

Reply via email to