postgres.git / summary / log / commit / refs
commit 6766264262851686481dee4401541ee8cd874c2a
Author: John Naylor <john.naylor@postgresql.org>
Date: Tue May 05 11:51:07 2026 +0000
First released in: 18.4
Add missing guard for __builtin_constant_p
Oversight in commit e2809e3a1. While at it, use pg_integer_constant_p
in master.
Discussion: https://postgr.es/m/CANWCAZbOha-x5MCreQn3TRA56VdKWNMAKMy3fAV1kJSw9Vp4pw@mail.gmail.com
Backpatch-through: 18
src/include/port/pg_crc32c.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/include/port/pg_crc32c.h b/src/include/port/pg_crc32c.h
index e6085ca50d1..2f22e176a66 100644
--- a/src/include/port/pg_crc32c.h
+++ b/src/include/port/pg_crc32c.h
@@ -70,7 +70,8 @@ static inline
pg_crc32c
pg_comp_crc32c_dispatch(pg_crc32c crc, const void *data, size_t len)
{
- if (__builtin_constant_p(len) && len < 32)
+#ifdef HAVE_PG_INTEGER_CONSTANT_P
+ if (pg_integer_constant_p(len) && len < 32)
{
const unsigned char *p = (const unsigned char *) data;
@@ -91,6 +92,9 @@ pg_comp_crc32c_dispatch(pg_crc32c crc, const void *data, size_t len)
else
/* Otherwise, use a runtime check for AVX-512 instructions. */
return pg_comp_crc32c(crc, data, len);
+#else
+ return pg_comp_crc32c(crc, data, len);
+#endif /* HAVE_PG_INTEGER_CONSTANT_P */
}
#elif defined(USE_SSE42_CRC32C_WITH_RUNTIME_CHECK)
[parent: 648818ba3876]