Date: Fri, 24 Apr 2026 20:38:59 +0000 (UTC) From: "Bjoern A. Zeeb" <bz@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: John Baldwin <jhb@FreeBSD.org> Subject: Re: git: 93d301d95ab2 - main - Remove -fms-extensions throughout the tree Message-ID: <889qsnp1-5qp7-8254-298-s84q10216969@mnoonqbm.arg> In-Reply-To: <69ebd450.36574.1b31c920@gitrepo.freebsd.org>
index | next in thread | previous in thread | raw e-mail
On Fri, 24 Apr 2026, Bjoern A. Zeeb wrote: > The branch main has been updated by bz: > > URL: https://cgit.FreeBSD.org/src/commit/?id=93d301d95ab230ea159b21b5412aac2ce5362ac5 > > commit 93d301d95ab230ea159b21b5412aac2ce5362ac5 > Author: Bjoern A. Zeeb <bz@FreeBSD.org> > AuthorDate: 2026-02-03 01:51:40 +0000 > Commit: Bjoern A. Zeeb <bz@FreeBSD.org> > CommitDate: 2026-04-24 20:36:15 +0000 > > Remove -fms-extensions throughout the tree > > During a discussion about using -fms-extensions jhb pointed out that > we have them enabled in the kernel for gcc by default (even multiple > times in one part). I had missed all that and clang still failed on > my use case (needing another option). > > The original cause for enabling them for our tree back then was that > we needed to support C11 anonymous struct/unions. > Our in-tree gcc 4.2.1, despite later patches, needed the > -fms-extensions to support these even though this was not the expected > use case for that option ( cc4a90c445aa0 enabled it globally for the > kernel). > clang at that time (or at least when it became default for 10.0) > already was fine (with C11). > > Any later gcc (4.6.0 onwards) did not need that option anymore, even > when compiled for -std=iso9899:1990 (which does not support anonymous > structs/unions) unless one would add -pedantic (see gcc git 4bdd0a60b27a). > This is also the reason why userland cddl sources now compile with the > option removed despite CSTD=c99. > > The only driver which needed the option recently was ccp, but that was > fixed in 8d3f41dbcb2a by jhb. > > So cleanup all uses cases of -fms-extensions for the moment as they are > no longer needed given all compilers currently supported seem to be > fine without them and gcc-4.2.1 was removed from the tree in stable/13 > in 2020 (a9854bc3812b). I should also say there was a lot of testing and exchaning emails with jhb back and forther in order (for me) to understand when and why we needed this (and when no longer). Thanks a lot jhb! > Reported by: jhb (all this but possibly the world CDDL parts) > Sponsored by: The FreeBSD Foundation > MFC after: 3 days > Reviewed by: emaste (earlier), imp, jhb, glebius > Differential Revision: https://reviews.freebsd.org/D55072 -- Bjoern A. Zeeb r15:7home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?889qsnp1-5qp7-8254-298-s84q10216969>
