From 0ce1db0223854d94b4a0d17737ac0486a75d9e6a Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Thu, 16 Feb 2023 17:59:50 +0200 Subject: [PATCH] liblzma: Silence a warning from MSVC. It gives C4146 here since unary minus with unsigned integer is still unsigned (which is the intention here). Doing it with substraction makes it clearer and avoids the warning. Thanks to Nathan Moinvaziri for reporting this. --- src/liblzma/check/crc64_fast.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/liblzma/check/crc64_fast.c b/src/liblzma/check/crc64_fast.c index db44633b..e686dbd7 100644 --- a/src/liblzma/check/crc64_fast.c +++ b/src/liblzma/check/crc64_fast.c @@ -256,7 +256,7 @@ crc64_clmul(const uint8_t *buf, size_t size, uint64_t crc) // C = buf + size == aligned_buf + size2 // D = buf + size + skip_end == aligned_buf + size2 + skip_end const size_t skip_start = (size_t)((uintptr_t)buf & 15); - const size_t skip_end = (size_t)(-(uintptr_t)(buf + size) & 15); + const size_t skip_end = (size_t)((0U - (uintptr_t)(buf + size)) & 15); const __m128i *aligned_buf = (const __m128i *)( (uintptr_t)buf & ~(uintptr_t)15);