From: Fangrui Song Date: Fri, 27 Jul 2018 16:01:09 +0000 (+0000) Subject: [Support] Use unsigned char for xxHash 64-bit X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=13b09222ff2e707275d0c18ec7caa2c706475ff4;p=llvm [Support] Use unsigned char for xxHash 64-bit Before, the last 3 bytes were char-signedness dependent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338128 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Support/xxhash.cpp b/lib/Support/xxhash.cpp index a7d990bf6a4..df643f9bd63 100644 --- a/lib/Support/xxhash.cpp +++ b/lib/Support/xxhash.cpp @@ -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;