Re: [GIT PULL 2/2] Kconfig updates for v5.10-rc1

Masahiro Yamada
2020-12-02T13:05:40Z

On Wed, Dec 2, 2020 at 9:53 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> Hi Linus,
>
> On Sun, Nov 29, 2020 at 3:28 AM Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> >
> > On Fri, Nov 27, 2020 at 11:05 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
> > >
> > > As for the cc1plus cost, I got a similar result.
> > >
> > > Running scripts/gcc-plugin.sh directly
> > > took me 0.5 sec, which is a fourth
> > > of the allmodconfig run-time.
> > >
> > > Actually, I did not know this shell script
> > > was so expensive to run...
> >
> > So it turns out that one reason it's so expensive to run is that it
> > does a *lot* more than it claims to do.
> >
> > It says "we need a c++ compiler that supports the designated
> > initializer GNU extension", but then it actually includes a header
> > file from hell, rather than just test designated initializers.
> >
> > This patch makes the cc1plus overhead go down a lot. That said, I'm
> > doubtful we really want gcc plugins at all, considering that the only
> > real users have all apparently migrated to clang builtin functionality
> > instead.
> >
> > Linus
>
>
> The attached patch looks OK to me.
>
> Just a nit:
> Now that the test code does not include any header,
> you can also delete
> "-I $srctree/gcc-plugins -I $gccplugins_dir/include"
>
>
> If you apply it directly, please feel free to add
>
> Reviewed-by: Masahiro Yamada <masahiroy@kernel.org>

BTW, gcc plugins are always compiled with g++.

Why do we need to compile the following in the first place?

class test {
public:
int test;
} test = {
.test = 1
};

I think any C++ compiler will succeed
in compiling such simple code.

So,

test -e "$gccplugins_dir/include/plugin-version.h"

looks enough to me.

What is the intention of this compile test?

--
Best Regards
Masahiro Yamada