diff -r f0d9811dda8e -r f1ef0e53e628 mercurial/thirdparty/xdiff/xutils.c --- a/mercurial/thirdparty/xdiff/xutils.c Fri Mar 09 14:39:35 2018 -0800 +++ b/mercurial/thirdparty/xdiff/xutils.c Fri Mar 09 14:47:29 2018 -0800 @@ -141,9 +141,10 @@ return ha; } -unsigned int xdl_hashbits(unsigned int size) { - unsigned int val = 1, bits = 0; +unsigned int xdl_hashbits(int64_t size) { + int64_t val = 1; + unsigned int bits = 0; - for (; val < size && bits < CHAR_BIT * sizeof(unsigned int); val <<= 1, bits++); + for (; val < size && bits < (int64_t) CHAR_BIT * sizeof(unsigned int); val <<= 1, bits++); return bits ? bits: 1; }