diff --git a/libcxx/include/__functional/hash.h b/libcxx/include/__functional/hash.h --- a/libcxx/include/__functional/hash.h +++ b/libcxx/include/__functional/hash.h @@ -135,7 +135,7 @@ if (__len >= 4) { const uint32_t __a = __loadword(__s); const uint32_t __b = __loadword(__s + __len - 4); - return __hash_len_16(__len + (__a << 3), __b); + return __hash_len_16(__len + (static_cast<_Size>(__a) << 3), __b); } if (__len > 0) { const unsigned char __a = static_cast(__s[0]);