forked from OSchip/llvm-project
[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:
parent
6ff58ed5ca
commit
9c85d7acbe
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue