Newer snapshots of clang trunk produce the following warning on libz's
lib/libz/inflate.c:1507:61: error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value] if (strm == Z_NULL || strm->state == Z_NULL) return -1L << 16; ~~~ ^ 1 error generated.
Indeed the standard says that this is undefined, but asking around, it
seems that almost everybody will interpret this as a two's complement
shift, e.g. equivalent to:
(unsigned long)-1L << 16
~0UL << 16
Resulting in the actual value -65536. I would like to change it to this
I'm not sure if it is needed (or wise) to also update the documentation
comment for inflateMark(), though. Any comments about that?