From 6766264262851686481dee4401541ee8cd874c2a Mon Sep 17 00:00:00 2001 From: John Naylor Date: Tue, 5 May 2026 18:51:07 +0700 Subject: [PATCH] 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)