On Wed, Dec 2, 2020 at 9:53 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > Hi Linus, > > On Sun, Nov 29, 2020 at 3:28 AM Linus Torvalds > <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > > > On Fri, Nov 27, 2020 at 11:05 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> 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@xxxxxxxxxx> 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