More C type errors by default for GCC 14

Basile Starynkevitch basile@starynkevitch.net
Wed May 10 13:10:18 GMT 2023


Hello all,

After a suggestion by Eric Gallager
> Idea for a compromise: What if, instead of flipping the switch on all
> 3 of these at once, we staggered them so that each one becomes a
> default in a separate release? i.e., something like:
>
> - GCC 14: -Werror=implicit-function-declaration gets added to the defaults
> - GCC 15: -Werror=implicit-int gets added to the defaults
> - GCC 16: -Werror=int-conversion gets added to the defaults
>
> That would give people more time to catch up on a particular warning,
> rather than overwhelming them with a whole bunch all at once. Just an
> idea.

Eli Zaretskii <eliz@gnu.org> wrote on 10 may 2023, at 14:00

> And that is just one example of perfectly valid reasons for not
> wanting or not being able to make changes to pacify GCC.
>
> Once again, my bother is not about "villains" who don't want to get
> their act together, my bother is about cases such as the one above,
> where the developers simply have no practical choice.
>
> And please don't tell me they should use an older GCC, because as
> systems go forward and are upgraded, older GCC will not work anymore.


My experience is that for safety critical software (per DOI 178C, 
embedded in aircrafts, or for the French covid breathing machine on 
https://github.com/Recovid/Controller ) the regulations, funders, and 
authorities requires a very specific version of GCC with very specific 
compilation flags.


Changing either the compiler (even from gcc-12.1 to gcc-12.2) or the 
compilation flags (even changing -O1 by -O2) requires written (on paper) 
approval by a large number of human persons, and formal certifications 
(eg ISO9001, ISO27001 procedures) and lots of checks and headaches.


I do know several persons making their living of these constraints.

I do know several corporations making a living from them (and keeping 
decade older GCC compiler binaries on many disks).

So I really think that for safety critical software (whose failure may 
impact lives) people are using an older (and well specified) GCC.


Of course, to compile an ordinary business web service (e-shop for 
clothes) with e.g. libonion (from https://github.com/davidmoreno/onion 
...) or to compile a zsh.org from source code (for or on a developer's 
laptop) the constraints are a lot lighter.

Regards!


PS : my pet open source project is the RefPerSys open source inference 
engine on http://refpersys.org/ and 
https://github.com/RefPerSys/RefPerSys ; it is explicitly thought for 
non-critical use (desktop, teaching, ...).

-- 
Basile Starynkevitch                  <basile@starynkevitch.net>
(only mine opinions / les opinions sont miennes uniquement)
92340 Bourg-la-Reine, France
web page: starynkevitch.net/Basile/



More information about the Gcc mailing list