On Wed, Oct 26, 2022 at 09:33:34AM +0200, Jakub Jelinek wrote:
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.
Something like this [with any necessary corrections] should be part of
the Change text, in a way that is easy for users to find.
> > == 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:
I'm generally understand what is happening. I was complaining that the
Change page doesn't do a very good job of providing a quick explanation
to a casual reader.
> > == 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.
Right. So both "Upgrade/compatibility impact" and "Release notes"
need
to be adjusted.
Zbyszek