On 2023-11-06 Mo 09:57, Tom Lane wrote:
Peter Eisentraut <pe...@eisentraut.org> writes:
Analogous to 388e80132c (which was for Perl) but for Python, I propose
adding #pragma GCC system_header to plpython.h. Without it, you get
tons of warnings about -Wdeclaration-after-statement, starting with
Python 3.12. (In the past, I have regularly sent feedback to Python to
fix their header files, but this is getting old, and we have an easier
solution now.)
+1 for the concept --- I was just noticing yesterday that my buildfarm
warning scraping script is turning up some of these. However, we ought
to try to minimize the amount of our own code that is subject to the
pragma. So I think a prerequisite ought to be to get this out of
plpython.h:
/*
* Used throughout, so it's easier to just include it everywhere.
*/
#include "plpy_util.h"
Alternatively, is there a way to reverse the effect of the
pragma after we've included what we need?
There's "GCC diagnostic push" and "GCC diagnostic pop" but I don't know
if they apply to "GCC system_header". Instead of using "GCC
system_header" we could just ignore the warnings we're seeing. e.g. "GCC
diagnostic ignored \"-Wdeclaration-after-statement\""
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com