Fedora 40正在考虑在GCC 14之前收紧对C语言的遗留支持
2022-10-30 20:36:23 来源: cnBeta

一份为明年的Fedora 40起草的修改建议正在考虑"将Fedora移植到现代C语言",确保软件包的C源代码符合严格的C99编译器。对于2024年的GCC 14编译器,开源开发者正在考虑默认禁用对传统C语言结构的支持。LLVM的开发者正在考虑可能比这更早地禁用遗留的C语言结构。

Fedora 40的目标是更主动地发现那些仍然依赖传统C语言行为的开源项目,以便上游项目能够及时适应。

新的F40修改方案被总结为:

早在1999年,C语言标准的一个新的修订版删除了一些向后兼容的特性。然而,GCC仍然默认接受这些过时的构造。对这些结构体的支持让程序员感到困惑,并有可能影响GCC实现未来C标准中的功能。预计未来的GCC版本(可能是GCC 14)将默认不支持这些遗留的语言构造。这一变化的目的是为Fedora准备这一过渡。

在GCC 14中正在考虑的变化中,将在Fedora 40中进行的变化包括移除隐式函数声明,移除隐式int,移除旧式函数声明,新的bool/true/false关键字,改变函数声明器中()的含义,以及拒绝整数和指针之间的隐式转换作为错误。

对于已经关注C99+兼容性的开源项目和关注编译器警告的开发者来说,这种用GCC 14+或Fedora Linux早期为"现代C"做准备的推动不会造成任何重大问题。但是对于很少维护的开源包和类似的素材,可能需要进行更新,以便为这些即将到来的编译器变化做好准备,并在明年的Fedora 40上更彻底地构建。

这个修改建议仍然需要经过Fedora工程和指导委员会(FESCo)的审核。除了修改建议的Wiki页面,在Fedora开发列表中也有关于这个Fedora 40修改建议的积极讨论。

关键词: Fedora 40 GCC 14 遗留支持
责任编辑:zN_3037