pgsql: Provide overflow safe integer math inline functions.
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: pgsql-committers@postgresql.org
Date: 2017-12-13T01:01:19Z
Lists: pgsql-hackers
Provide overflow safe integer math inline functions. It's not easy to get signed integer overflow checks correct and fast. Therefore abstract the necessary infrastructure into a common header providing addition, subtraction and multiplication for 16, 32, 64 bit signed integers. The new macros aren't yet used, but a followup commit will convert several open coded overflow checks. Author: Andres Freund, with some code stolen from Greg Stark Reviewed-By: Robert Haas Discussion: https://postgr.es/m/20171024103954.ztmatprlglz3rwke@alap3.anarazel.de Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/4d6ad31257adaf8a51e1c4377d96afa656d9165f Modified Files -------------- config/c-compiler.m4 | 22 ++++ configure | 33 ++++++ configure.in | 4 + src/include/common/int.h | 239 ++++++++++++++++++++++++++++++++++++++++++ src/include/pg_config.h.in | 3 + src/include/pg_config.h.win32 | 3 + 6 files changed, 304 insertions(+)
Commits
-
Try harder to detect unavailability of __builtin_mul_overflow(int64).
- c6d21d56f1a9 11.0 landed
-
Try to detect runtime unavailability of __builtin_mul_overflow(int64).
- c04d35f442a8 11.0 landed
-
Fix a number of copy & paste comment errors in common/int.h.
- 11b8f076c02b 11.0 landed
-
Provide overflow safe integer math inline functions.
- 4d6ad31257ad 11.0 cited