Re: RFC: More C errors by default in GCC 14 (no more implicit function declarations etc.)
Oskari Pirhonen <[email protected]> Tue, 18 Apr 2023 21:39:42 -0500
| Newsgroups | dev.linux.lists.c-std-porting |
|---|---|
| Message-ID | <ZD9UbrVr6VaU+rbA@dj3ntoo> |
--EntZCGvQcGqmwGrp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Apr 18, 2023 at 16:07:45 +0200, Florian Weimer wrote: > Gentoo has been fixing various packages for building with Clang, which > covers a superset of the issues that need to be addressed: >=20 > [TRACKER] Support LLVM/Clang as alternative system compiler=20 > <https://bugs.gentoo.org/showdependencytree.cgi?id=3D408963&hide_resolv= ed=3D0> >=20 > IIRC, Gentoo has its own mechanism to detect silent build breakage, but > I think it's mostly focused on autoconf, so it's less comprehensive, and > also fixes the stuff that is actually relevant to the distribution. >=20 For Gentoo, I wrote (with some help from others) this QA check [1] which Portage uses to scan Autoconf, CMake, and Meson config logs for implicit function declarations. It's inspired by a similar bit of code from the Macports folks [2] and written with both Clang and GCC in mind. It should be possible to adapt for use by others if you feed it the right dirs and replace a few functions (`has` and `eqa*` OTTOMH) since nothing about the core logic is Portage-specific. Although not so much for silent failures, but maybe still useful for someone, there's also this QA check [3] which is used to detect other warnings at build-time. - Oskari [1]: https://gitweb.gentoo.org/proj/portage.git/tree/bin/install-qa-check.d= /90config-impl-decl [2]: https://github.com/macports/macports-base/blob/15270571ab178ddff693fbd= 722163fe1d638ed55/src/port1.0/portconfigure.tcl#L1853 [3]: https://gitweb.gentoo.org/proj/portage.git/tree/bin/install-qa-check.d= /90gcc-warnings --EntZCGvQcGqmwGrp Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQQfOU+JeXjo4uxN6vCp8he9GGIfEQUCZD9UaQAKCRCp8he9GGIf EapdAP91wp/wY2rULqgy6ebMoF6HOHTGFeNp9pCzdkDt5EajGAD/ciqgOP6P2Nmt saB8DEbU/7E/pVCwAW5xWy50Nt9+ZwA= =czAF -----END PGP SIGNATURE----- --EntZCGvQcGqmwGrp--