From ce4bc927755fdf0ed03d679d9c7fa041175bb3cb Mon Sep 17 00:00:00 2001 From: Abseil Team Date: Fri, 7 Aug 2020 14:31:44 -0700 Subject: Export of internal Abseil changes -- 30b56a21feab3443ba40cf97a3bfaa3d5b3bc964 by Derek Mauro : Fix conversion warnings on 32-bit MSVC Fixes #582 PiperOrigin-RevId: 325509591 GitOrigin-RevId: 30b56a21feab3443ba40cf97a3bfaa3d5b3bc964 Change-Id: Icf1786a974eb88ca417cd428c0ce43e8ee8048e7 --- absl/base/internal/bits.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'absl') diff --git a/absl/base/internal/bits.h b/absl/base/internal/bits.h index 14c51d8b..81648e2c 100644 --- a/absl/base/internal/bits.h +++ b/absl/base/internal/bits.h @@ -83,10 +83,11 @@ ABSL_BASE_INTERNAL_FORCEINLINE int CountLeadingZeros64(uint64_t n) { #elif defined(_MSC_VER) && !defined(__clang__) // MSVC does not have __buitin_clzll. Compose two calls to _BitScanReverse unsigned long result = 0; // NOLINT(runtime/int) - if ((n >> 32) && _BitScanReverse(&result, n >> 32)) { + if ((n >> 32) && + _BitScanReverse(&result, static_cast(n >> 32))) { return 31 - result; } - if (_BitScanReverse(&result, n)) { + if (_BitScanReverse(&result, static_cast(n))) { return 63 - result; } return 64; @@ -170,10 +171,10 @@ ABSL_BASE_INTERNAL_FORCEINLINE int CountTrailingZerosNonZero64(uint64_t n) { #elif defined(_MSC_VER) && !defined(__clang__) unsigned long result = 0; // NOLINT(runtime/int) if (static_cast(n) == 0) { - _BitScanForward(&result, n >> 32); + _BitScanForward(&result, static_cast(n >> 32)); return result + 32; } - _BitScanForward(&result, n); + _BitScanForward(&result, static_cast(n)); return result; #elif defined(__GNUC__) || defined(__clang__) static_assert(sizeof(unsigned long long) == sizeof(n), // NOLINT(runtime/int) -- cgit v1.2.3