diff --git a/parallel_hashmap/phmap.h b/parallel_hashmap/phmap.h index 6185a61..87812bd 100644 --- a/parallel_hashmap/phmap.h +++ b/parallel_hashmap/phmap.h @@ -357,7 +357,7 @@ inline size_t H1(size_t hashval, const ctrl_t* ) { #endif -inline h2_t H2(size_t hashval) { return (h2_t)(ctrl_t)(hashval & 0x7F); } +inline ctrl_t H2(size_t hashval) { return (ctrl_t)(hashval & 0x7F); } inline bool IsEmpty(ctrl_t c) { return c == kEmpty; } inline bool IsFull(ctrl_t c) { return c >= static_cast(0); } @@ -4582,7 +4582,7 @@ struct HashtableDebugAccess{ key, set.eq_ref()}, diff --git a/parallel_hashmap/phmap_bits.h b/parallel_hashmap/phmap_bits.h index 314e91d..5db8ab9 100644 --- a/parallel_hashmap/phmap_bits.h +++ b/parallel_hashmap/phmap_bits.h @@ -276,7 +276,7 @@ PHMAP_BASE_INTERNAL_FORCEINLINE uint32_t CountLeadingZeros64Slow(uint64_t n) { if (n >> 16) zeroes -= 16, n >>= 16; if (n >> 8) zeroes -= 8, n >>= 8; if (n >> 4) zeroes -= 4, n >>= 4; - return "\4\3\2\2\1\1\1\1\0\0\0\0\0\0\0"[n] + zeroes; + return (uint32_t)("\4\3\2\2\1\1\1\1\0\0\0\0\0\0\0"[n] + zeroes); } PHMAP_BASE_INTERNAL_FORCEINLINE uint32_t CountLeadingZeros64(uint64_t n) { @@ -284,17 +284,17 @@ PHMAP_BASE_INTERNAL_FORCEINLINE uint32_t CountLeadingZeros64(uint64_t n) { // MSVC does not have __buitin_clzll. Use _BitScanReverse64. unsigned long result = 0; // NOLINT(runtime/int) if (_BitScanReverse64(&result, n)) { - return (int)(63 - result); + return (uint32_t)(63 - result); } return 64; #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, (unsigned long)(n >> 32))) { - return 31 - result; + return (uint32_t)(31 - result); } if (_BitScanReverse(&result, (unsigned long)n)) { - return 63 - result; + return (uint32_t)(63 - result); } return 64; #elif defined(__GNUC__) || defined(__clang__) @@ -309,7 +309,7 @@ PHMAP_BASE_INTERNAL_FORCEINLINE uint32_t CountLeadingZeros64(uint64_t n) { if (n == 0) { return 64; } - return __builtin_clzll(n); + return (uint32_t)__builtin_clzll(n); #else return CountLeadingZeros64Slow(n); #endif diff --git a/parallel_hashmap/phmap_dump.h b/parallel_hashmap/phmap_dump.h index 8739389..4dac176 100644 --- a/parallel_hashmap/phmap_dump.h +++ b/parallel_hashmap/phmap_dump.h @@ -169,8 +169,12 @@ public: ofs_.open(file_path, std::ofstream::out | std::ofstream::trunc | std::ofstream::binary); } + ~BinaryOutputArchive() = default; + BinaryOutputArchive(const BinaryOutputArchive&) = delete; + BinaryOutputArchive& operator=(const BinaryOutputArchive&) = delete; + bool saveBinary(const void *p, size_t sz) { - ofs_.write(reinterpret_cast(p), sz); + ofs_.write(reinterpret_cast(p), (std::streamsize)sz); return true; } @@ -197,9 +201,13 @@ public: BinaryInputArchive(const char * file_path) { ifs_.open(file_path, std::ofstream::in | std::ofstream::binary); } + + ~BinaryInputArchive() = default; + BinaryInputArchive(const BinaryInputArchive&) = delete; + BinaryInputArchive& operator=(const BinaryInputArchive&) = delete; bool loadBinary(void* p, size_t sz) { - ifs_.read(reinterpret_cast(p), sz); + ifs_.read(reinterpret_cast(p), (std::streamsize)sz); return true; }