Re: [PATCH] sparse: ignore warning from new glibc headers

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

 




On 17/07/2024 17:54, Junio C Hamano wrote:
> Đoàn Trần Công Danh <congdanhqx@xxxxxxxxx> writes:
> 
>> With at least glibc 2.39, glibc provides a function declaration that
>> matches with this POSIX interface:
>>
>>     int regexec(const regex_t *restrict preg, const char *restrict string,
>>            size_t nmatch, regmatch_t pmatch[restrict], int eflags);
>>
>> such prototype requires variable-length-array for `pmatch'.
>> ...
>> Thus, sparse reports this error:
>>
>>> ../add-patch.c: note: in included file (through ../git-compat-util.h):
>>> /usr/include/regex.h:682:41: error: undefined identifier '__nmatch'
>>> /usr/include/regex.h:682:41: error: bad constant expression type
>>> /usr/include/regex.h:682:41: error: Variable length array is used.

Yes, I noted this about 2 years ago! If memory serves, it was when the
libc6-dev package went from v2.31 to 2.35 (well 2.31-0ubuntu9.9).

As I said at the time, this only affected glibc platforms (so not newlib
on cygwin for example) of a certain vintage, so I just added

  SPARSE_FLAGS += -D__STDC_NO_VLA__

to my config.mak file.

> I get the same with 
> 
> 	$ sparse --version
> 	v0.6.4-66-g0196afe1
> 

I mentioned this problem to Luc on the sparse mailing list[1] and
he produced a patch which 'fixed' the problem in one way, but
caused a different problem[2]. Namely, because git passes -Wvla
to gcc, it now issues the 'used vla' warnings, which gcc does
not because of some '# pragma GCC diagnostic ignored "-Wvla"' which
sparse does not honor! :(

So, his patch was not applied in the end.

ATB,
Ramsay Jones

The sparse mailing list archive can be found at:

   https://lore.kernel.org/linux-sparse

The messages below were from December 2023 (approx. 20/12/2023)

[1] Message-ID: <6f853a6b-9ac3-4bfd-a968-89d43fbcce2a@xxxxxxxxxxxxxxxxxxxx>
[2] Message-ID: <24cb6194-d04d-4c80-bd95-4f7356667884@xxxxxxxxxxxxxxxxxxxx>




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux