Commit 8b957209 authored by Russ Cox's avatar Russ Cox

gopack: work around gcc bug in hash function

Fixes #48.  (this time for sure!)

R=r, r1
https://golang.org/cl/152088
parent 0c83f23d
......@@ -784,9 +784,16 @@ hashstr(char *name)
h = 0;
for(cp = name; *cp; h += *cp++)
h *= 1119;
if(h < 0)
h = ~h;
return h;
// the code used to say
// if(h < 0)
// h = ~h;
// but on gcc 4.3 with -O2 on some systems,
// the if(h < 0) gets compiled away as not possible.
// use a mask instead, leaving plenty of bits but
// definitely not the sign bit.
return h & 0xfffffff;
}
int
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment