From: Pavel P Date: Sat, 18 Jan 2025 21:37:50 +0000 (+0200) Subject: handle 32bit size_t when building for x64 X-Git-Tag: v1.5.7^2~29^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=26e5fb36149b9d155a3640ca0800199fc13711e8;p=thirdparty%2Fzstd.git handle 32bit size_t when building for x64 --- diff --git a/lib/common/bitstream.h b/lib/common/bitstream.h index c0db11d40..d976c5478 100644 --- a/lib/common/bitstream.h +++ b/lib/common/bitstream.h @@ -162,9 +162,10 @@ MEM_STATIC size_t BIT_initCStream(BIT_CStream_t* bitC, FORCE_INLINE_TEMPLATE size_t BIT_getLowerBits(size_t bitContainer, U32 const nbBits) { #if defined(STATIC_BMI2) && STATIC_BMI2 == 1 && !defined(ZSTD_NO_INTRINSICS) -# if defined(__x86_64__) || defined(_M_X64) - return sizeof(size_t) == sizeof(U64) ? _bzhi_u64(bitContainer, nbBits) : _bzhi_u32((U32)bitContainer, nbBits); +# if (defined(__x86_64__) || defined(_M_X64)) && !defined(__ILP32__) + return _bzhi_u64(bitContainer, nbBits); # else + DEBUG_STATIC_ASSERT(sizeof(size_t) == sizeof(U32)); return _bzhi_u32(bitContainer, nbBits); # endif #else