Fix HashString's Bernstein hash to use unsigned chars, as is usually done.
[oota-llvm.git] / include / llvm / ADT / StringExtras.h
index 655d884e7baaab2677fb8debe622b0ae65fe7062..36df5acadb4d8631fbbba96a2112b6ad9a3a1a54 100644 (file)
@@ -125,7 +125,7 @@ void SplitString(StringRef Source,
 //   X*33+c -> X*33^c
 static inline unsigned HashString(StringRef Str, unsigned Result = 0) {
   for (unsigned i = 0, e = Str.size(); i != e; ++i)
-    Result = Result * 33 + Str[i];
+    Result = Result * 33 + (unsigned char)Str[i];
   return Result;
 }