tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Fixing configure failures from newer gcc



At Sat, 18 Oct 2025 19:33:22 -0400, Greg Troxel <gdt%lexort.com@localhost> wrote:
Subject: Re: Fixing configure failures from newer gcc
>
> That was a very long message,

Sorry, but I've been getting frustrated at my apparent lack of ability
to communicate clearly about this issue.  Of course usually writing too
much never helps, though in rare occasions it can.


> but I think it boils down to "it's wrong
> to compile a C99 program with a C23 compiler".

That's half of it.

The other half is to try to convince people to stop trying to use -Wno-*
things to turn off new warnings and errors from newer compilers.

Of course if you have a C23 compiler and you do manage to tell it to
compile for C99 when you feed it C99 code then you won't have any of the
new warnings/errors in the first place and all will be well.

Unfortunately though it seems that for some reason or another many
people still seem to jump to trying the "-Wno-*" things first when they
should not do so, especially not for these new classes of warnings and
errors coming from newer compilers when they compile for C23.  If
something used to build with a previous version of a C/C++ compiler but
now fails with a newer compiler then the first tool one should reach for
is always "-std=".


> I stand by my statement that a program written in CNN should, as part
> of its configure (or whatever) probe for and add --std=cNN to CFLAGS,
> whether NN is old, normal, or new.

We agree on that for sure.  But many programs do not do anything like
that yet -- and oh so many seem to have not yet met a C23 compiler
either.

--
					Greg A. Woods <gwoods%acm.org@localhost>

Kelowna, BC     +1 250 762-7675           RoboHack <woods%robohack.ca@localhost>
Planix, Inc. <woods%planix.com@localhost>     Avoncote Farms <woods%avoncote.ca@localhost>

Attachment: pgpaSwhaqE_0T.pgp
Description: OpenPGP Digital Signature



Home | Main Index | Thread Index | Old Index