2016-08-30 Paul Eggert <eggert@cs.ucla.edu>
+ intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
+ * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
+ GCC 5 and 6 that have __builtin_sub_overflow but not
+ __builtin_sub_overflow_p. With the recent changes, these
+ platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
+ implementation than with INT_SUBTRACT_OVERFLOW implementation,
+ since the former needs just one runtime comparison whereas the
+ latter needs two.
+
strverscmp: sync with glibc
Although this doesn't exactly synchronize with glibc
byte-for-byte, it makes the code behave the same as glibc.
_GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
#define INT_SUBTRACT_OVERFLOW(a, b) \
_GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
-#if _GL_HAS_BUILTIN_OVERFLOW || _GL_HAS_BUILTIN_OVERFLOW_P
+#if _GL_HAS_BUILTIN_OVERFLOW_P
# define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a)
#else
# define INT_NEGATE_OVERFLOW(a) \