summaryrefslogtreecommitdiff
path: root/compilerplugins/clang/precompiled_clang.hxx
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2019-10-15 10:04:54 +0200
committerLuboš Luňák <l.lunak@collabora.com>2019-10-15 16:02:40 +0200
commit1c8b2b6da13636b07d47e157b2ddac445966ddf4 (patch)
tree823e2adb5db894a9d2af5bc317aebec0e81e57e5 /compilerplugins/clang/precompiled_clang.hxx
parenta5496f4441450bec4dfb7468642d72c758a725a8 (diff)
use PCH for clang plugin source too, if enabled
This currently supports only building with Clang on Linux, as I'm lazy to handle the other cases (and Clang should be usually self-built anyway). The main compile time cost is in optimizing the code, but this still saves few seconds per source. Change-Id: Ib6c0fd874820af737ee1257cb5234fb78bc63ad8 Reviewed-on: https://gerrit.libreoffice.org/80810 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'compilerplugins/clang/precompiled_clang.hxx')
-rw-r--r--compilerplugins/clang/precompiled_clang.hxx54
1 files changed, 54 insertions, 0 deletions
diff --git a/compilerplugins/clang/precompiled_clang.hxx b/compilerplugins/clang/precompiled_clang.hxx
new file mode 100644
index 000000000000..926580353883
--- /dev/null
+++ b/compilerplugins/clang/precompiled_clang.hxx
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * Based on LLVM/Clang.
+ *
+ * This file is distributed under the University of Illinois Open Source
+ * License. See LICENSE.TXT for details.
+ *
+ */
+
+// This file is generated manually. Is it based on the output of
+// cat *.cxx *.hxx | grep '#include' | grep 'clang/' | sort -u
+
+#if PCH_LEVEL >= 1
+#include <clang/AST/ASTConsumer.h>
+#include <clang/AST/ASTContext.h>
+#include <clang/AST/Attr.h>
+#include <clang/AST/Comment.h>
+#include <clang/AST/CXXInheritance.h>
+#include <clang/AST/DeclBase.h>
+#include <clang/AST/DeclCXX.h>
+#include <clang/AST/Decl.h>
+#include <clang/AST/DeclTemplate.h>
+#include <clang/AST/ExprCXX.h>
+#include <clang/AST/Expr.h>
+#include <clang/AST/RecursiveASTVisitor.h>
+#include <clang/AST/StmtVisitor.h>
+#include <clang/AST/Type.h>
+#include <clang/Basic/FileManager.h>
+#include <clang/Basic/OperatorKinds.h>
+#include <clang/Basic/SourceManager.h>
+#include <clang/Frontend/CompilerInstance.h>
+#include <clang/Frontend/FrontendAction.h>
+#include <clang/Frontend/FrontendActions.h>
+#include <clang/Frontend/FrontendPluginRegistry.h>
+#include <clang/Lex/Lexer.h>
+#include <clang/Lex/PPCallbacks.h>
+#include <clang/Lex/Preprocessor.h>
+#include <clang/Rewrite/Core/Rewriter.h>
+#include <clang/Sema/SemaDiagnostic.h>
+#include <clang/Sema/Sema.h>
+#include <clang/Sema/SemaInternal.h>
+#include <clang/Tooling/CommonOptionsParser.h>
+#include <clang/Tooling/Refactoring.h>
+#endif
+
+#if PCH_LEVEL >= 2
+// These are included by everything anyway.
+#include "plugin.hxx"
+#include "check.hxx"
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */