summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2020-01-27 22:25:13 +0100
committerLuboš Luňák <l.lunak@collabora.com>2020-02-03 11:26:43 +0100
commit81bd3b4a85c7ae6e642969596701bbed645752ff (patch)
tree28229b7825a8b6a2a760f34d44070ddebc1345bc /solenv
parent0528012fd0dc4b93645ef7790b0db9d1cecbae66 (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/blacklist1
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