This message is a brief update where we are in terms of the Modern C port. <https://fedoraproject.org/wiki/Changes/PortingToModernC> We recorded fixes for about 850 packages for compatibility with a future compiler that does not support implicit ints nor implicit function declarations. Patches have been contributed upstream were feasible, and have already been merged by upstream maintainers in many cases. Changes have been backported into rawhide as well. Not surprisingly, there is an overlap between packages which need fixes and packages which are unmaintained upstream. On the other hand, some of the required fixes came in with regular upstream rebases. <https://gitlab.com/fweimer-rh/fedora-modernc> There are about 35 packages which had to be switched to building in C89 mode. Porting them required too many changes, or based on the existing compiler errors, they looked broken on 64-bit architectures anyway (so these packages are probably not used anymore). <https://bugzilla.redhat.com/show_bug.cgi?id=2137516> About 15 packages are currently waiting for maintainer help, such as rebasing to a new upstream version with fewer issues, or just waiting for retirement. The latter is about a few packages which still build by accident, but are completely unusable at run time because required functions (e.g., from the Python C library) are missing. <https://bugzilla.redhat.com/show_bug.cgi?id=2137512> I am going to explore a way to land -Werror=implicit-int -Werror=implicit-function-declaration among the default compiler flags. (We have already seen compatibility regressions due to upstream rebases.) There's a bit of an issue because the C++ front end warns on those flags, so we need another -specs= kludge that is incompatible with Clang. Once we have support for that in redhat-rpm-config, I'm going to switch the 35 packages mentioned above to using that new exemption mechanism (where feasible). This will also allow us to close out a few of the remaining help-needed issues, for those packages that require C89-only language features and C99-style inlining, which GCC does not support in C89 mode. We are also exploring what to do about automatic conversion between integer and pointer types. This is a persistent source of 64-bit incompatibilities, so worth addressing. The work on implcit ints has addressed most incompatibilities in this area, but there are about 170 packages that need to investigated specifically for int-conversion issues. I suspect many of them are false positives because GCC issues type errors even if the function parameter list length does not match (so an int-conversion error in one argument does not matter because the configure check always fails on GNU/Linux anyway). It may be possible that it is not possible with these int-conversion issues in the Fedora 40/GCC 14 time frame due to capacity issues on our side. Thanks, Florian _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue