llvm.org GIT mirror llvm / 55a4b51
Fix HashString's Bernstein hash to use unsigned chars, as is usually done. Changes the hash result for strings containing characters with values >= 128, such as UTF8 strings (not normal ASCII). Changed mostly so we match other implementations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162882 91177308-0d34-0410-b5e6-96231b3b80d8 Will Dietz 7 years ago
1 changed file(s) with 1 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
124124 // X*33+c -> X*33^c
125125 static inline unsigned HashString(StringRef Str, unsigned Result = 0) {
126126 for (unsigned i = 0, e = Str.size(); i != e; ++i)
127 Result = Result * 33 + Str[i];
127 Result = Result * 33 + (unsigned char)Str[i];
128128 return Result;
129129 }
130130