Re: [PATCH RESEND 1/1] perf build: Allow nested externs to enable BUILD_BUG() usage

From: Arnaldo Carvalho de Melo
Date: Tue Oct 13 2020 - 15:09:28 EST


Em Mon, Oct 12, 2020 at 08:59:36AM +1100, Stephen Rothwell escreveu:
> Hi all,
>
> On Fri, 9 Oct 2020 14:41:11 +0200 Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
> >
> > On Fri, Oct 09, 2020 at 02:25:23PM +0200, Vasily Gorbik wrote:
> > > Currently BUILD_BUG() macro is expanded to smth like the following:
> > > do {
> > > extern void __compiletime_assert_0(void)
> > > __attribute__((error("BUILD_BUG failed")));
> > > if (!(!(1)))
> > > __compiletime_assert_0();
> > > } while (0);
> > >
> > > If used in a function body this obviously would produce build errors
> > > with -Wnested-externs and -Werror.
> > >
> > > To enable BUILD_BUG() usage in tools/arch/x86/lib/insn.c which perf
> > > includes in intel-pt-decoder, build perf without -Wnested-externs.
> > >
> > > Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> > > Signed-off-by: Vasily Gorbik <gor@xxxxxxxxxxxxx>
> >
> > that one applied nicely ;-) thanks
> >
> > Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
>
> I will apply that patch to the merge of the tip tree today (instead of
> reverting the series I reverted in Friday) (unless I get an update of
> the tip tree containing it, of course).

Applied to perf/core that will go to Linus this week, maybe even today.

- Arnaldo