diff options
author | Luboš Luňák <l.lunak@collabora.com> | 2020-01-27 22:25:13 +0100 |
---|---|---|
committer | Luboš Luňák <l.lunak@collabora.com> | 2020-02-03 11:26:43 +0100 |
commit | 81bd3b4a85c7ae6e642969596701bbed645752ff (patch) | |
tree | 28229b7825a8b6a2a760f34d44070ddebc1345bc /solenv | |
parent | 0528012fd0dc4b93645ef7790b0db9d1cecbae66 (diff) |
significantly reduce build time of sharedvisitor.cxx
In the sharedvisitor.cxx mode all plugins need just one shared
RecursiveASTVisitor template instance, but as long as they use another
instance each as the base class, Clang still instantiates those templates
and then spends a lot of time optimizing each of them, even though they
should never get used.
So when compiling using sharedvisitor.cxx simply use dummy base classes
that do not do anything. As an additional check they abort() if any
of the functions get called, this needed removing vclwidgets and
unusedmember from shared plugins, because they call TraverseStmt(),
maybe this can get handled somehow later.
Change-Id: Ic5a350da2c3ba31521f71077b1776b1ee8f06dea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87561
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/clang-format/blacklist | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/solenv/clang-format/blacklist b/solenv/clang-format/blacklist index e69df4d693de..cdfd51d72104 100644 --- a/solenv/clang-format/blacklist +++ b/solenv/clang-format/blacklist @@ -1713,6 +1713,7 @@ compilerplugins/clang/sallogareas.cxx compilerplugins/clang/salunicodeliteral.cxx compilerplugins/clang/sfxpoolitem.cxx compilerplugins/clang/sharedvisitor/analyzer.cxx +compilerplugins/clang/sharedvisitor/dummyplugin.hxx compilerplugins/clang/sharedvisitor/generator.cxx compilerplugins/clang/simplifybool.cxx compilerplugins/clang/singlevalfields.cxx |