Fix several issues in overflow checks (GH-3591)
* Fix #3588: Make existing overflow code safe Signed overflow is undefined behaviour in C and compilers can and do optimized on that basis. * Speed up our overflow impls Note this is primarily based on performance of compilers which do not support __builtin_add_overflow (i.e., not Clang >= 3.4 & gcc >= 5), mostly looking at several gcc 4 releases (used by older, supported, RHEL releases and Debian 8 "Jessie") and MSVC. * Use __builtin_XXX_overflow if available This is much quicker in general, as these all just then read the overflow flag from the status register.
Showing
This diff is collapsed.
Please register or sign in to comment