Re: [PATCH 1/2] perf tools: Fix bison object compilation with clang 15

From: Arnaldo Carvalho de Melo
Date: Thu Sep 29 2022 - 14:38:09 EST


Em Thu, Sep 29, 2022 at 11:22:41AM -0700, Namhyung Kim escreveu:
> On Thu, Sep 29, 2022 at 11:01 AM Arnaldo Carvalho de Melo
> <acme@xxxxxxxxxx> wrote:
> >
> > Em Thu, Sep 29, 2022 at 04:05:13PM +0200, Jiri Olsa escreveu:
> > > Arnaldo reported compilation fail with clang 15:
> > >
> > > CC util/parse-events-bison.o
> > > util/parse-events-bison.c:1401:9: error: variable 'parse_events_nerrs'
> > > set but not used [-Werror,-Wunused-but-set-variable]
> > > int yynerrs = 0;
> > > ^
> > > util/parse-events-bison.c:72:25: note: expanded from macro 'yynerrs'
> > > #define yynerrs parse_events_nerrs
> > > ^
> > > 1 error generated.
> > >
> > > Disabling -Wunused-but-set-variable check for bison object compilation.
> >
> > So we have to disable something else:
> >
> > 37 44.92 fedora:32 : FAIL clang version 10.0.1 (Fedora 10.0.1-3.fc32)
> > error: unknown warning option '-Wno-unused-but-set-variable'; did you mean '-Wno-unused-const-variable'? [-Werror,-Wunknown-warning-option]
> > make[3]: *** [/git/perf-6.0.0-rc7/tools/build/Makefile.build:139: util] Error 2
> > 38 61.77 fedora:33 : FAIL clang version 11.0.0 (Fedora 11.0.0-3.fc33)
> > error: unknown warning option '-Wno-unused-but-set-variable'; did you mean '-Wno-unused-const-variable'? [-Werror,-Wunknown-warning-option]
> > make[3]: *** [/git/perf-6.0.0-rc7/tools/build/Makefile.build:139: util] Error 2
> > 39 66.59 fedora:34 : FAIL clang version 12.0.1 (Fedora 12.0.1-1.fc34)
> > error: unknown warning option '-Wno-unused-but-set-variable'; did you mean '-Wno-unused-const-variable'? [-Werror,-Wunknown-warning-option]
> > make[3]: *** [/git/perf-6.0.0-rc7/tools/build/Makefile.build:139: util] Error 2
> >
> >
> > I'll try yours + -Wno-unknown-warning-option
>
> Is `-Wno-unknown-warning-option` known to older versions? ;-)

Excellent question! ;-)

And one we should learn something from, so that we
can prep tools/perf/ (and other projects we contribute to) for the
future:

So far, so good:

[perfbuilder@five ~]$ echo `grep FAIL dm.log/summary | cut -c15- | cut -d: -f1,2`
alpine:3.12 alpine:3.13 alpine:3.14 alpine:3.15 alt:p10 amazonlinux:devel debian:11 fedora:32 fedora:33 fedora:34 fedora:37 fedora:38 fedora:rawhide ubuntu:21.04
[perfbuilder@five ~]$ export BUILD_TARBALL=http://192.168.86.14/perf/perf-6.0.0-rc7.tar.xz
[perfbuilder@five ~]$ time dm debian:experimental alpine:3.12 alpine:3.13 alpine:3.14 alpine:3.15 alt:p10 amazonlinux:devel debian:11 fedora:32 fedora:33 fedora:34 fedora:37 fedora:38 fedora:rawhide ubuntu:21.04
1 140.66 debian:experimental : Ok gcc (Debian 12.2.0-3) 12.2.0 , Debian clang version 14.0.6-2
2 132.82 alpine:3.12 : Ok gcc (Alpine 9.3.0) 9.3.0 , Alpine clang version 10.0.0 (https://gitlab.alpinelinux.org/alpine/aports.git 7445adce501f8473efdb93b17b5eaf2f1445ed4c)
3 140.40 alpine:3.13 : Ok gcc (Alpine 10.2.1_pre1) 10.2.1 20201203 , Alpine clang version 10.0.1
4 143.75 alpine:3.14 : Ok gcc (Alpine 10.3.1_git20210424) 10.3.1 20210424 , Alpine clang version 11.1.0
5 147.77 alpine:3.15 : Ok gcc (Alpine 10.3.1_git20211027) 10.3.1 20211027 , Alpine clang version 12.0.1
6 98.79 alt:p10 : Ok x86_64-alt-linux-gcc (GCC) 10.3.1 20210703 (ALT Sisyphus 10.3.1-alt2) , clang version 11.0.1
7: amazonlinux:devel

- Arnaldo