On 2024-07-18 09:39:44+0700, Đoàn Trần Công Danh <congdanhqx@xxxxxxxxx> wrote: > On 2024-07-18 01:02:54+0100, Ramsay Jones <ramsay@xxxxxxxxxxxxxxxxxxxx> wrote: > > > > > > On 17/07/2024 23:53, Junio C Hamano wrote: > > [snip] > > > That's OK. So in short, with a separate SP_EXTRA_FLAGS with "-Wno-vla", > > > Luc's patch is a sufficient fix without any downsides, no? > > > > > > > Yes, assuming you're only concerned with 'make sparse' usage. > > > > BTW, I didn't expect it to take this long for this issue to come > > back to the list! I expected it to almost immediately cause > > problems with the sparse ci job, when the version of Ubuntu was > > updated to the LTS (now previous LTS!). So, I just found a simple > > solution for now (which turned into 2 years). > > Well, yeah, -Wno-vla would work, I used that macro __STDC_NO_VLA__ > because I'm not sure Git want to use vla or not, so I only tried to > disable it for system headers. Eh, I replied too soon, -Wno-vla doesn't work with my compiler: $ rm -f builtin/am.sp && make V=1 builtin/am.sp cgcc -no-compile -I. -I. -fstack-protector-strong -D_FORTIFY_SOURCE=2 -pipe -O2 -g -march=native -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"x86_64\"" -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DSUPPORTS_SIMPLE_IPC -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"git-compat-util.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_SYNC_FILE_RANGE -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DSHELL_PATH='"/bin/sh"' \ -Wsparse-error \ -std=gnu99 -Wno-universal-initializer -Wno-vla builtin/am.c && \ >builtin/am.sp builtin/am.c: note: in included file (through git-compat-util.h, builtin.h): /usr/include/regex.h:682:41: error: undefined identifier '__nmatch' /usr/include/regex.h:682:41: error: bad constant expression type make: *** [Makefile:3263: builtin/am.sp] Error 1 $ gcc --version gcc (GCC) 13.2.0 Copyright (C) 2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -- Danh