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

From: Warner Losh <imp_at_bsdimp.com>
Date: Tue, 27 Dec 2022 17:56:32 UTC
On Tue, Dec 27, 2022 at 10:40 AM 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 agree: I don't think we need this at all anymore, though we have the
perennial problem
of building stable on current, but this won't fix that...

I think I've done a full bootstrap with clang15 on MacOS since you've
imported your
changes, and I didn't see this error.


> > +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?
>

I believe that only () are left in the tree, except for one, maybe two
upstreams that still
support old K&R compilers (I'm looking at you libz) that need this flag. I
also think that
the bulk of the in-tree () have been converted to (void) (I've done a
bunch, and others have
been quicker to commit than I for at least some of these so I got conflicts
on merge,but for
this, that's cool).

Warner