Re: [PATCH] perf tools: Fix build failture on perl script context
From: Arnaldo Carvalho de Melo
Date: Tue Aug 02 2016 - 09:47:42 EST
Em Tue, Aug 02, 2016 at 11:43:17AM +0900, Namhyung Kim escreveu:
> On my Archlinux machine, perf faild to build like below:
>
> CC scripts/perl/Perf-Trace-Util/Context.o
> In file included from /usr/lib/perl5/core/perl/CORE/perl.h:3905:0,
> from Context.xs:23:
> /usr/lib/perl5/core/perl/CORE/inline.h: In function :
> /usr/lib/perl5/core/perl/CORE/cop.h:612:13: warning: declaration of 'av'
> shadows a previous local [-Werror-shadow]
> AV *av =3D GvAV(PL_defgv);
> ^
> /usr/lib/perl5/core/perl/CORE/inline.h:526:5: note: in expansion of
> macro 'CX_POP_SAVEARRAY'
> CX_POP_SAVEARRAY(cx);
> ^~~~~~~~~~~~~~~~
> In file included from /usr/lib/perl5/core/perl/CORE/perl.h:5853:0,
> from Context.xs:23:
> /usr/lib/perl5/core/perl/CORE/inline.h:518:9: note:
> shadowed declaration is here
> AV *av;
> ^~
But you forgot to describe _what_ you did to "fix" the problem besides
breaking down a long line, i.e. adding -Wno-shadow, is that what we
want? To ignore such warnings?
Some explanation in the changelog as to why that is the wise solution
would help a lot :-\
- Arnaldo
>
> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> ---
> tools/perf/scripts/perl/Perf-Trace-Util/Build | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/scripts/perl/Perf-Trace-Util/Build b/tools/perf/scripts/perl/Perf-Trace-Util/Build
> index 928e110179cb..34faecf774ae 100644
> --- a/tools/perf/scripts/perl/Perf-Trace-Util/Build
> +++ b/tools/perf/scripts/perl/Perf-Trace-Util/Build
> @@ -1,3 +1,5 @@
> libperf-y += Context.o
>
> -CFLAGS_Context.o += $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-nested-externs -Wno-undef -Wno-switch-default
> +CFLAGS_Context.o += $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes
> +CFLAGS_Context.o += -Wno-unused-parameter -Wno-nested-externs -Wno-undef
> +CFLAGS_Context.o += -Wno-switch-default -Wno-shadow
> --
> 2.9.2