Newer snapshots of clang trunk produce the following warning on libz's
inflateMark() function:
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
or shorter:
~0UL << 16
Resulting in the actual value -65536. I would like to change it to this
last notation.
I'm not sure if it is needed (or wise) to also update the documentation
comment for inflateMark(), though. Any comments about that?