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

From: Arnaldo Carvalho de Melo
Date: Thu Sep 29 2022 - 14:02:06 EST


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

;-)

- Arnaldo

> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> ---
> tools/perf/util/Build | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/Build b/tools/perf/util/Build
> index 8fd6dc8de521..d559c80559e3 100644
> --- a/tools/perf/util/Build
> +++ b/tools/perf/util/Build
> @@ -270,7 +270,7 @@ CFLAGS_expr-flex.o += $(flex_flags)
> bison_flags := -DYYENABLE_NLS=0
> BISON_GE_35 := $(shell expr $(shell $(BISON) --version | grep bison | sed -e 's/.\+ \([0-9]\+\).\([0-9]\+\)/\1\2/g') \>\= 35)
> ifeq ($(BISON_GE_35),1)
> - bison_flags += -Wno-unused-parameter -Wno-nested-externs -Wno-implicit-function-declaration -Wno-switch-enum
> + bison_flags += -Wno-unused-parameter -Wno-nested-externs -Wno-implicit-function-declaration -Wno-switch-enum -Wno-unused-but-set-variable
> else
> bison_flags += -w
> endif
> --
> 2.37.3

--

- Arnaldo