On 2/23/26 20:38, Ard Biesheuvel wrote:
On Mon, 23 Feb 2026, at 20:10, Nathan Chancellor wrote:Hi all, The kernel enabled '-fms-extensions' in commit c4781dc3d1cf ("Kbuild: enable -fms-extensions") in 6.19 to gain access to a Microsoft (originally Plan 9) extension around including a tagged structure/union anonymously in an other structure/union. Since then, Clang 23.0.0 (current main) has added a flag to enable only that extension, rather than all Microsoft extensions, '-fms-anonymous-structs' [1]. Using this narrower compiler option would have avoided the build error fixed by commit a6773e6932cb ("jfs: Rename _inline to avoid conflict with clang's '-fms-extensions'"). While these errors are not expected to be common, using the narrower option when available has no drawbacks because the kernel only cares about this extension in '-fms-extensions', no others. While this could result in build errors for folks using '-fms-anonymous-structs' if a developer uses another extension in '-fms-extensions' (either intentionally or unintentionally), flagging these uses for further scrutiny seems worthwhile. This series converts the build system to use that flag when it is available. The first patch consolidates all of the C dialect flags into a single variable to make future updates to the dialect flags less painful, as updating the logic in every place that uses their custom built C flags is getting cumbersome (and C23 is looming). The second patch makes the actual switch. I would like Nicolas to carry this in the Kbuild tree for 7.1, please provide Acks as necessary. [1]: https://github.com/llvm/llvm-project/commit/c391efe6fb67329d8e2fd231692cc6b0ea902956 --- Nathan Chancellor (2): kbuild: Consolidate C dialect options kbuild: Use '-fms-anonymous-structs' if it is availableAcked-by: Ard Biesheuvel <[email protected]>
For the series: Acked-by: Helge Deller <[email protected]> # parisc Thanks! Helge
