Re: apply pragma system_header to python headers
Andrew Dunstan <andrew@dunslane.net>
From: Andrew Dunstan <andrew@dunslane.net>
To: Tom Lane <tgl@sss.pgh.pa.us>, Peter Eisentraut <peter@eisentraut.org>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-11-06T15:30:28Z
Lists: pgsql-hackers
On 2023-11-06 Mo 09:57, Tom Lane wrote: > Peter Eisentraut <peter@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
Commits
-
Hide warnings from Python headers when using gcc-compatible compiler.
- 58c3151bbc04 17.0 landed
- b0115e7e20a6 16.2 landed
- 7978eee02e9a 14.11 landed
- 5f8d6d7097fe 15.6 landed
- 48e7971643e8 13.14 landed
- 1613e2fae1ab 12.18 landed