From 6c08548b71fdd67c0d22d28c655a7e69fc5bf4cf Mon Sep 17 00:00:00 2001 From: Nikolas Klauser Date: Wed, 1 Oct 2025 09:48:20 +0200 Subject: [PATCH] [libc++] Don't bother asserting that functions get unsigned types --- libcxx/include/__bit/countl.h | 1 - libcxx/include/__bit/countr.h | 1 - libcxx/include/__bit/popcount.h | 1 - 3 files changed, 3 deletions(-) diff --git a/libcxx/include/__bit/countl.h b/libcxx/include/__bit/countl.h index 29b01277fb0eb..c95828f58d61a 100644 --- a/libcxx/include/__bit/countl.h +++ b/libcxx/include/__bit/countl.h @@ -24,7 +24,6 @@ _LIBCPP_BEGIN_NAMESPACE_STD template _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 int __countl_zero(_Tp __t) _NOEXCEPT { - static_assert(__is_unsigned_integer_v<_Tp>, "__countl_zero requires an unsigned integer type"); return __builtin_clzg(__t, numeric_limits<_Tp>::digits); } diff --git a/libcxx/include/__bit/countr.h b/libcxx/include/__bit/countr.h index 4de887ad4f67c..16f689d6da383 100644 --- a/libcxx/include/__bit/countr.h +++ b/libcxx/include/__bit/countr.h @@ -24,7 +24,6 @@ _LIBCPP_BEGIN_NAMESPACE_STD template [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR int __countr_zero(_Tp __t) _NOEXCEPT { - static_assert(__is_unsigned_integer_v<_Tp>, "__countr_zero only works with unsigned types"); return __builtin_ctzg(__t, numeric_limits<_Tp>::digits); } diff --git a/libcxx/include/__bit/popcount.h b/libcxx/include/__bit/popcount.h index 8d9ba09938482..d104c8e8f0a98 100644 --- a/libcxx/include/__bit/popcount.h +++ b/libcxx/include/__bit/popcount.h @@ -23,7 +23,6 @@ _LIBCPP_BEGIN_NAMESPACE_STD template [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR int __popcount(_Tp __t) _NOEXCEPT { - static_assert(__is_unsigned_integer_v<_Tp>, "__popcount only works with unsigned types"); return __builtin_popcountg(__t); }