Re: git: 526f57bf85a2 - main - Update CWARNFLAGS in bsd.sys.mk and CWARNEXTRA in kern.mk for clang 15.

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Tue, 27 Dec 2022 19:15:36 UTC
On 27 Dec 2022, at 18:40, John Baldwin <jhb@freebsd.org> wrote:
> 
> On 12/25/22 3:59 AM, Dimitry Andric wrote:
>> The branch main has been updated by dim:
>> URL: https://cgit.FreeBSD.org/src/commit/?id=526f57bf85a2b9b113c55ded47b932abc8567bc5
>> commit 526f57bf85a2b9b113c55ded47b932abc8567bc5
>> Author:     Dimitry Andric <dim@FreeBSD.org>
>> AuthorDate: 2022-07-25 10:29:58 +0000
>> Commit:     Dimitry Andric <dim@FreeBSD.org>
>> CommitDate: 2022-12-25 11:58:22 +0000
>>     Update CWARNFLAGS in bsd.sys.mk and CWARNEXTRA in kern.mk for clang 15.
>>          MFC after:      3 days
>> ---
>>  share/mk/bsd.sys.mk | 17 +++++++++++++++--
>>  sys/conf/kern.mk    |  4 ++++
>>  2 files changed, 19 insertions(+), 2 deletions(-)
>> diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
>> index a220c9d173ed..43359fed29c7 100644
>> --- a/share/mk/bsd.sys.mk
>> +++ b/share/mk/bsd.sys.mk
>> @@ -86,6 +94,11 @@ CWARNFLAGS.clang+= -Wno-unused-const-variable
>>  .if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 130000
>>  CWARNFLAGS.clang+= -Wno-error=unused-but-set-variable
>>  .endif
>> +.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 150000
>> +CWARNFLAGS.clang+= -Wno-error=array-parameter
> 
> I've fixed all these that GCC 12 finds.  Do we really need to disable it for clang
> now after I've pushed those recent fixes?

I didn't notice, but it's likely because I had the above in the
llvm-15-update branch for months now. I found some old build logs from
the beginning of December, and they still contained ~20 of these
warnings. But if they're all fixed now then sure, lets's remove the
-Wno-error= again.


>> +CWARNFLAGS.clang+= -Wno-error=deprecated-non-prototype
> 
> I'm curious how many places are broken by this and how much it would be to fix?
> This is just adding '(void)' in place of '()', yes?

5859 instances, as of the last count. I committed a bunch of these, and
then got some negative feedback about it, so I decided to simply make
the warning non-fatal. Somebody else can go over these one by one and
fix them as drive-by commits. Indeed the fix is just replacing () in
declarations and definitions of C functions with (void).

-Dimitry