perl: Hide warnings inside perl.h when using gcc compatible compiler
Andres Freund <andres@anarazel.de>
perl: Hide warnings inside perl.h when using gcc compatible compiler New versions of perl trigger warnings within perl.h with our compiler flags. At least -Wdeclaration-after-statement, -Wshadow=compatible-local are known to be problematic. To avoid these warnings, conditionally use #pragma GCC system_header before including plperl.h. Alternatively, we could add the include paths for problematic headers with -isystem, but that is a larger hammer and is harder to search for. A more granular alternative would be to use #pragma GCC diagnostic push/ignored/pop, but gcc warns about unknown warnings being ignored, so every to-be-ignored-temporarily compiler warning would require its own pg_config.h symbol and #ifdef. As the warnings are voluminous, it makes sense to backpatch this change. But don't do so yet, we first want gather buildfarm coverage - it's e.g. possible that some compiler claiming to be gcc compatible has issues with the pragma. Author: Andres Freund <andres@anarazel.de> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: Discussion: https://postgr.es/m/20221228182455.hfdwd22zztvkojy2@awork3.anarazel.de
Files
| Path | Change | +/− |
|---|---|---|
| src/include/c.h | modified | +28 −0 |
| src/pl/plperl/plperl.h | modified | +9 −0 |
Discussion
- perl 5.36, C99, -Wdeclaration-after-statement -Wshadow=compatible-local 17 messages · 2022-11-01 → 2023-01-03