On Wed, Oct 26, 2022 at 07:06:43AM +0000, Zbigniew Jędrzejewski-Szmek wrote: > > == User Experience == > > User experience does not change. > > "The new default for C standard is -c99. Users who want to use > an older standard need to specify something like -c89." (???) It is -std=c89/-std=gnu89 actually. > > == Dependencies == > > To avoid regressing the porting effort, GCC as the system compiler > > needs to reject obsolete constructs by default. This is expected for > > GCC 14, to be released as part of Fedora 40 in Spring 2024. > > > > == Contingency Plan == > > * Contingency mechanism: Upstream GCC will probably accept obsolete > > constructs longer in case distributions like Fedora cannot port to > > modern C in time. > > Hmm, this sounds ominous, like if GCC might stop accepting old C syntax > altogether. Isn't this just a question of specifying the right standard > in compilation options? GCC hasn't changed anything yet, the obsolete constructs are accepted for decades with warnings, some of them in -Wall, others in -Wextra. The goal of Florian's work is to determine if it is feasible to reject them in -std={c,gnu}{9x,99,1x,11,17,18,2x} modes by default in GCC 14. Examples of the obsolescent syntax: qux (); // implicit int, + () args int baz (a, b) // old style function definition a, b; // even implicit int here { } foo () // implicit int, + () args { bar (1, 2); // implicitly declared baz (1, 2); } a; // implicit int -Werror=implicit -Werror=implicit-function-declaration -Werror=old-style-definition will reject these even now. Though, I think -Wold-style-definition warns even about the no argument case which in C2X is the same as in C++ - () being equivalent to (void). > > == Documentation == > > This section will be updated once more documentation of the porting > > effort will become available. > > > > == Release Notes == > > Probably not needed because no user visible impact is intended. > > It's not clear from the description: what about users who compile programs? It would be GCC that rejects those by default, so it would affect users compiling programs as well. Jakub _______________________________________________ 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