[Support] Use unsigned char for xxHash 64-bit

Before, the last 3 bytes were char-signedness dependent.

llvm-svn: 338128
This commit is contained in:
Fangrui Song 2018-07-27 16:01:09 +00:00
parent 6ff58ed5ca
commit 9c85d7acbe
1 changed files with 3 additions and 3 deletions

View File

@ -71,12 +71,12 @@ static uint64_t mergeRound(uint64_t Acc, uint64_t Val) {
uint64_t llvm::xxHash64(StringRef Data) {
size_t Len = Data.size();
uint64_t Seed = 0;
const char *P = Data.data();
const char *const BEnd = P + Len;
const unsigned char *P = Data.bytes_begin();
const unsigned char *const BEnd = Data.bytes_end();
uint64_t H64;
if (Len >= 32) {
const char *const Limit = BEnd - 32;
const unsigned char *const Limit = BEnd - 32;
uint64_t V1 = Seed + PRIME64_1 + PRIME64_2;
uint64_t V2 = Seed + PRIME64_2;
uint64_t V3 = Seed + 0;