On 2021-11-17 at 03:01:57, Jeff King wrote:
Yes, but I'm not at all worried about breaking our CI. That's just a
patch away from fixing. I'm much more worried about confused users
building from source, because helping them is more difficult to scale.
That's one of the reasons I had proposed the current patch, because it
pukes in a very noticeable way with directives on where to look to
continue. Just using C99 features means that Git breaks in a very
subtle way where the user compiling may not be familiar with C and may
not know how to fix it otherwise. For example, my previous employer
ships Git, but many of the folks who are doing the package updates are
not C programmers.
My thinking was that breaking older compilers was preferable to breaking
non-gnu ones, because at least old ones go away eventually. But your
other email makes me wonder if those non-GNU ones may already be
overriding CFLAGS.
Our only problem platform, as far as I can tell, is RHEL/CentOS 7. That
uses GCC 4.8, and even Ubuntu 18.04 ships with GCC 7.
Still, if we can come up with a solution that breaks neither (with some
light auto-detection or heuristics in the Makefile), that could be the
best of both worlds.
I can move COMPILER_FEATURES out of config.mak.dev and into Makefile so
that we can make use of it. We'll need to depend on GCC 6 for this
because we lack a way to distinguish 5.1 (which should work) from 5.0
(which will not).
--
brian m. carlson (he/him or they/them)
Toronto, Ontario, CA