Re: [PATCH v2 1/1] git-compat-util: add a test balloon for C99 support
- From
Jeff King <peff@peff.net>
- Date
- Nov 17, 2021, 02:58 UTC
- Message-ID
- <YZRvwfIaAODilQc3@coredump.intra.peff.net>
- In-Reply-To
- <YZRedzMSodOYjjPP@camp.crustytoothpaste.net>
On Wed, Nov 17, 2021 at 01:44:23AM +0000, brian m. carlson wrote:
Show 6 quoted lines
> > Do most compilers understand -std=gnu99? It seems like we're breaking > > the out-of-the-box build for everything that isn't gcc or clang. > > I'm pretty sure -Wall is GCC- and clang-specific, as is -Wl,-rpath, so I > think we've already crossed that bridge. There are places in > config.mak.uname where they're specifically overridden for that reason.
That's a good point. I guess we don't really have good data on how many people will be (newly) affected either way.
Show 11 quoted lines
> > I understand that older versions of gcc (prior to 5.1.0, from my > > digging) default to gnu89, and so they would be broken _without_ this. > > So it is a tradeoff one way or the other. But somehow this seems > > backwards to me. We should assume that modern compilers support C99 out > > of the box, and put the burden on older ones to trigger C99 support in > > whatever non-portable way they need. > > We'll have to adjust the CI job that builds with GCC 4.8, but I can do > that. I just am not eager to hear complaints from people that it > doesn't work out of the box, especially since CentOS 7 is going to hit > this case.
Nor am I. I wonder if there's a way we can make it work out of the box everywhere. Using detect-compiler more widely would be one way to do that, though that's a bigger change to the Makefile in general. I kind of wonder if we could just assume in config.mak.uname that Linux will always have a compiler that understands -std=gnu99.
-Peff