+2007-10-28 Bruno Haible <bruno@clisp.org>
+
+ * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
+ integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
+
2007-10-28 Bruno Haible <bruno@clisp.org>
Fix link errors with Sun C 5.0 on Solaris 10.
#define _STDINT_MAX(signed, bits, zero) \
((signed) \
? ~ _STDINT_MIN (signed, bits, zero) \
- : ((((zero) + 1) << ((bits) ? (bits) - 1 : 0)) - 1) * 2 + 1)
+ : /* The expression for the unsigned case. The subtraction of (signed) \
+ is a nop in the unsigned case and avoids "signed integer overflow" \
+ warnings in the signed case. */ \
+ ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
/* 7.18.1.1. Exact-width integer types */