Re: git: 526f57bf85a2 - main - Update CWARNFLAGS in bsd.sys.mk and CWARNEXTRA in kern.mk for clang 15.
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