Re: [PATCH v2 1/1] git-compat-util: add a test balloon for C99 support
"brian m. carlson" <sandals@crustytoothpaste.net> writes:
Show 12 quoted lines
> 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.
I wonder if this would work, then.
Makefile | 3 ++-
revision.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git c/Makefile w/Makefile
index 201437e9d4..454118d86b 100644
--- c/Makefile
+++ w/Makefile
@@ -1218,7 +1218,8 @@ endif
# Set CFLAGS, LDFLAGS and other *FLAGS variables. These might be
# tweaked by config.* below as well as the command-line, both of
# which'll override these defaults.
-CFLAGS = -g -O2 -Wall -std=gnu99
+# Older versions of GCC may require adding "-std=gnu99" at the end.
+CFLAGS = -g -O2 -Wall
LDFLAGS =
CC_LD_DYNPATH = -Wl,-rpath,
BASIC_CFLAGS = -I.
diff --git c/revision.c w/revision.c
index 78c1ceea7b..5390a479b3 100644
--- c/revision.c
+++ w/revision.c
@@ -49,7 +49,8 @@ void show_object_with_name(FILE *out, struct object *obj, const char *name)
* This "for (const char *p = ..." is made as a first step towards
* making use of such declarations elsewhere in our codebase. If
* it causes compilation problems on your platform, please report
- * it to the Git mailing list at git@vger.kernel.org.
+ * it to the Git mailing list at git@vger.kernel.org. In the meantime,
+ * adding -std=gnu99 to CFLAGS may help if you are with older GCC.
*/
for (const char *p = name; *p && *p != '\n'; p++)
fputc(*p, out);