Re: Enable -Wstrict-prototypes and -Wold-style-definition by default
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>,
pgsql-hackers@lists.postgresql.org
Date: 2026-03-23T15:13:20Z
Lists: pgsql-hackers
Attachments
- v2-0001-Disable-warnings-in-system-headers-in-MSVC.patch (text/plain) patch v2-0001
- v2-0002-Enable-warning-like-Wstrict-prototypes-on-MSVC-as.patch (text/plain) patch v2-0002
- v2-0003-Remove-Wendif-labels.patch (text/plain) patch v2-0003
- v2-0004-Add-warning-option-Wold-style-declaration.patch (text/plain) patch v2-0004
On 18.03.26 14:32, Peter Eisentraut wrote: > On 16.03.26 10:55, Peter Eisentraut wrote: >> On 09.03.26 17:39, Bertrand Drouvot wrote: >>> 0001: Prevent -Wstrict-prototypes and -Wold-style-definition warnings >>> >>> It fixes the remaining warnings that those new flags would generate. >> >> I have committed this one. I'll look at the rest next. > > Also committed. I have a couple of follow-up patches that I had developed while playing with this. There is a warning option for MSVC that appears to have a very similar effect to the ones we added here, so I propose we add that one as well. Additionally, there is an option for MSVC to disable warnings in system headers, similar to the default behavior of GCC. This would be required here because some system header files have non-strict prototypes. Additionally, I propose to add -Wold-style-declaration, which is completely unrelated to -Wold-style-definition, but it has popped up a few times via the buildfarm (grep for it in git log), so I think we might as well add it so that everyone sees it. Finally, I think we can remove the option -Wendif-labels, which doesn't do anything anymore that isn't the default. (It was only not the default before gcc 4.0.)
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add warning option -Wold-style-declaration
- c73e8ee061ad 19 (unreleased) landed
-
configure: Apply -Werror=vla to C++ as well as C
- 488ab592d9ea 19 (unreleased) landed
-
Enable warning like -Wstrict-prototypes on MSVC as well
- b4a132022444 19 (unreleased) landed
-
Remove compiler warning option -Wendif-labels
- 87e1891c459e 19 (unreleased) landed
-
Disable warnings in system headers in MSVC
- bccfc73acde9 19 (unreleased) landed
-
Fix -Wstrict-prototypes warning in ecpg_init_sqlca() declaration.
- f91b8ff6af91 19 (unreleased) landed