pgsql: Fix portability issues in pg_bitutils
От | Alvaro Herrera |
---|---|
Тема | pgsql: Fix portability issues in pg_bitutils |
Дата | |
Msg-id | E1gu3iZ-000223-K9@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Fix portability issues in pg_bitutils We were using uint64 function arguments as "long int" arguments to compiler builtins, which fails on machines where long ints are 32 bits: the upper half of the uint64 was being ignored. Fix by using the "ll" builtin variants instead, which on those machines take 64 bit arguments. Also, remove configure tests for __builtin_popcountl() (as well as "long" variants for ctz and clz): the theory here is that any compiler version will provide all widths or none, so one test suffices. Were this theory to be wrong, we'd have to add tests for __builtin_popcountll() and friends, which would be tedious. Per failures in buildfarm member lapwing and ensuing discussion. Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/109de05cbb034b032cd60f50708716c8ff0afdf2 Modified Files -------------- config/c-compiler.m4 | 58 ---------------- configure | 152 +++++++++++------------------------------- configure.in | 7 +- src/include/pg_config.h.in | 21 ++---- src/include/pg_config.h.win32 | 21 ++---- src/port/pg_bitutils.c | 73 ++++++++++---------- 6 files changed, 87 insertions(+), 245 deletions(-)
В списке pgsql-committers по дате отправления: