Hide warnings from Python headers when using gcc-compatible compiler.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 1613e2fae1ab4d66d949a00e7378721f2c8dcfbe
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2023-12-26T21:16:29Z
Releases: 12.18
Hide warnings from Python headers when using gcc-compatible compiler.

Like commit 388e80132, use "#pragma GCC system_header" to silence
warnings appearing within the Python headers, since newer Python
versions no longer worry about some restrictions we still use like
-Wdeclaration-after-statement.

This patch improves on 388e80132 by inventing a separate wrapper
header file, allowing the pragma to be tightly scoped to just
the Python headers and not other stuff we have laying about in
plpython.h.  I applied the same technique to plperl for the same
reason: the original patch suppressed warnings for a good deal
of our own code, not only the Perl headers.

Like the previous commit, back-patch to supported branches.

Peter Eisentraut and Tom Lane

Discussion: https://postgr.es/m/ae523163-6d2a-4b81-a875-832e48dec502@eisentraut.org

Files

PathChange+/−
src/pl/plperl/GNUmakefile modified +2 −2
src/pl/plperl/plperl.h modified +3 −191
src/pl/plperl/plperl_system.h added +214 −0
src/pl/plpython/Makefile modified +2 −1
src/pl/plpython/plpython.h modified +3 −131
src/pl/plpython/plpython_system.h added +164 −0

Discussion