From: Tom Lane Date: Mon, 6 Jul 2026 17:48:42 +0000 (-0400) Subject: Make PLy_elog() use pg_integer_constant_p(). X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=431896a84eb127b4fe1b609a56c67e28105136c7;p=thirdparty%2Fpostgresql.git Make PLy_elog() use pg_integer_constant_p(). This macro is supposed to work like ereport(). But when 59c2f03d1 adjusted ereport() to be more MSVC-friendly, it missed updating this copy of the logic. Discussion: https://postgr.es/m/754534.1783264708@sss.pgh.pa.us Backpatch-through: 19 --- diff --git a/src/pl/plpython/plpy_elog.h b/src/pl/plpython/plpy_elog.h index 3150f9e72ca..887535d5860 100644 --- a/src/pl/plpython/plpy_elog.h +++ b/src/pl/plpython/plpy_elog.h @@ -17,14 +17,14 @@ extern PyObject *PLy_exc_spi_error; * * See comments at elog() about the compiler hinting. */ -#ifdef HAVE__BUILTIN_CONSTANT_P +#ifdef HAVE_PG_INTEGER_CONSTANT_P #define PLy_elog(elevel, ...) \ do { \ PLy_elog_impl(elevel, __VA_ARGS__); \ - if (__builtin_constant_p(elevel) && (elevel) >= ERROR) \ + if (pg_integer_constant_p(elevel) && (elevel) >= ERROR) \ pg_unreachable(); \ } while(0) -#else /* !HAVE__BUILTIN_CONSTANT_P */ +#else /* !HAVE_PG_INTEGER_CONSTANT_P */ #define PLy_elog(elevel, ...) \ do { \ const int elevel_ = (elevel); \ @@ -32,7 +32,7 @@ extern PyObject *PLy_exc_spi_error; if (elevel_ >= ERROR) \ pg_unreachable(); \ } while(0) -#endif /* HAVE__BUILTIN_CONSTANT_P */ +#endif /* HAVE_PG_INTEGER_CONSTANT_P */ extern PGDLLEXPORT void PLy_elog_impl(int elevel, const char *fmt, ...) pg_attribute_printf(2, 3);