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>
This commit is contained in:
@@ -7,8 +7,6 @@
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
#ifndef LO_CLANG_SHARED_PLUGINS
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
@@ -870,6 +868,4 @@ loplugin::Plugin::Registration< VCLWidgets > vclwidgets("vclwidgets");
|
||||
|
||||
}
|
||||
|
||||
#endif // LO_CLANG_SHARED_PLUGINS
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
|
Reference in New Issue
Block a user