From 718b22a6c5e3ee5de123323ea798872381f9320e 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);