Fedora Linux Cleared To Pursue Its Modern C Porting

The upstream GCC 14 compiler to be released in 2024 will likely disable support for legacy C language constructs by default. LLVM developers are looking at a similar move in 2023. So from the Fedora side they are looking at being more proactive in spotting contained open-source software still relying on legacy C behavior so it can be fixed by the relevant upstreams in time for these future compiler releases.
Among the changes being looked at for GCC 14 and to be made with Fedora 40 include removal of implicit function declarations, removal of implicit int, removal of old-style function declarations, new bool/true/false keywords, changed meaning of ( ) in function declarators, and rejecting implicit conversions between integers and pointers as errors.
This change will mostly impact seldom-maintained open-source software. But for major open-source projects already focused on targeting more modern C standards, this change shouldn't cause any impact -- especially for those paying attention to compiler warnings.
The "Porting Fedora to Modern C" proposal can be found on the Fedora Wiki. As of this past week, the Fedora Engineering and Steering Committee has approved the plan. During the voting it was raised that perhaps moving forward Fedora should be even more aggressive in targeting newer C standards, so we'll see if that happens moving forward.
48 Comments