在半个月前,Fedora 提出了一项新的提议,该提议希望 “将 Fedora 移植到现代 C 语言标准”,如今该提议的状态已被修改成 “接受”,这也意味着这一提议已获得 Fedora 工程和指导委员会(FESCo, Fedora Engineering and Steering Committee)的同意。
提议中写道:
早在 1999 年,C 语言标准的一个新的修订版删除了一些向后兼容的特性,然而 GCC 仍然默认接受这些过时的结构。对这些结构的支持让程序员感到困惑,并有可能影响 GCC 实现未来 C 语言标准中的功能。预计未来的 GCC 版本(可能是 GCC 14)将默认不支持这些传统的语言结构。此更改的目标是让 Fedora 为 GCC 的转变做好准备。
Fedora 设定的目标期限为 Fedora 40 以及 GCC 14 发布之前,根据开发计划,两者都将会在 2024 年发布。开发者也提到,LLVM 也在考虑 2023 年推行类似的举措,因此也将从这些移植工作中受益。然而,LLVM 16 可能会在这项工作结束之前就率先登陆 Fedora,LLVM 团队目前正在研究其他方法。
在该项提议中,Fedora 也提到了此次转变可能会带来的一些变化,其中包括移除隐式函数声明、移除隐式 int、删除旧式函数声明、新的 bool/true/false 关键字、改变函数声明中()的含义,以及拒绝将整数和指针之间的隐式转换作为错误等。
这一变化将主要影响那些已经很少再进行维护的开源软件。但是对于已经专注于瞄准现代 C 标准的主要开源项目来说,这一变化应该不会造成太大影响。这项提议的具体详情可以在 Fedora Wiki 上找到。