summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compilerplugins/Makefile-clang.mk7
-rw-r--r--compilerplugins/clang/sharedvisitor/analyzer.cxx2
-rw-r--r--config_host.mk.in1
-rw-r--r--configure.ac10
-rw-r--r--distro-configs/Jenkins/linux_clang_dbgutil_641
5 files changed, 15 insertions, 6 deletions
diff --git a/compilerplugins/Makefile-clang.mk b/compilerplugins/Makefile-clang.mk
index 65cfa67cb1ec..9d6b46019344 100644
--- a/compilerplugins/Makefile-clang.mk
+++ b/compilerplugins/Makefile-clang.mk
@@ -47,9 +47,6 @@ endif
# by gb_ENABLE_PCH like everywhere else, but unsetting this disables PCH.
LO_CLANG_USE_PCH=1
-# Whether to use precompiled headers for the analyzer too. Does not apply to compiling sources.
-LO_CLANG_USE_ANALYZER_PCH=1
-
# The uninteresting rest.
include $(SRCDIR)/solenv/gbuild/gbuild.mk
@@ -275,7 +272,7 @@ $(CLANGOUTDIR)/sharedvisitor/analyzer$(CLANG_EXE_EXT): $(CLANGINDIR)/sharedvisit
$(call gb_Output_announce,$(subst $(BUILDDIR)/,,$@),$(true),GEN,1)
$(QUIET)$(COMPILER_PLUGINS_CXX) $(CLANGDEFS) $(CLANGCXXFLAGS) $(CLANGWERROR) $(CLANGINCLUDES) \
-I$(BUILDDIR)/config_host -DCLANGFLAGS='"$(CLANGTOOLDEFS)"' \
- -DLO_CLANG_USE_ANALYZER_PCH=$(LO_CLANG_USE_ANALYZER_PCH) \
+ -DLO_CLANG_USE_ANALYZER_PCH=$(if $(COMPILER_PLUGINS_ANALYZER_PCH),1,0) \
-c $< -o $(CLANGOUTDIR)/sharedvisitor/analyzer.o -MMD -MT $@ -MP \
-MF $(CLANGOUTDIR)/sharedvisitor/analyzer.d
$(QUIET)$(COMPILER_PLUGINS_CXX) $(CLANGDEFS) $(CLANGCXXFLAGS) $(CLANGOUTDIR)/sharedvisitor/analyzer.o \
@@ -342,7 +339,7 @@ endif
endif
-ifdef LO_CLANG_USE_ANALYZER_PCH
+ifeq ($(COMPILER_PLUGINS_ANALYZER_PCH),TRUE)
# the PCH for usage in sharedvisitor/analyzer
# these are from the invocation in analyzer.cxx
diff --git a/compilerplugins/clang/sharedvisitor/analyzer.cxx b/compilerplugins/clang/sharedvisitor/analyzer.cxx
index 7c69e4a9381c..ea519abb0d95 100644
--- a/compilerplugins/clang/sharedvisitor/analyzer.cxx
+++ b/compilerplugins/clang/sharedvisitor/analyzer.cxx
@@ -273,7 +273,7 @@ int main(int argc, char** argv)
args.end(),
{ // These must match LO_CLANG_ANALYZER_PCH_CXXFLAGS in Makefile-clang.mk .
"-I" BUILDDIR "/config_host" // plugin sources use e.g. config_global.h
-#ifdef LO_CLANG_USE_ANALYZER_PCH
+#if LO_CLANG_USE_ANALYZER_PCH
,
"-include-pch", // use PCH with Clang headers to speed up parsing/analysing
BUILDDIR "/compilerplugins/clang/sharedvisitor/clang.pch"
diff --git a/config_host.mk.in b/config_host.mk.in
index 215212a6f06a..13e5e906a3f6 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -78,6 +78,7 @@ export COMMONS_LOGGING_JAR=@COMMONS_LOGGING_JAR@
export COMMONS_LOGGING_VERSION=@COMMONS_LOGGING_VERSION@
export COMPATH=@COMPATH@
export COMPILER_PLUGINS=@COMPILER_PLUGINS@
+export COMPILER_PLUGINS_ANALYZER_PCH=@COMPILER_PLUGINS_ANALYZER_PCH@
export COMPILER_PLUGINS_COM_IS_CLANG=@COMPILER_PLUGINS_COM_IS_CLANG@
export COMPILER_PLUGINS_CXX=@COMPILER_PLUGINS_CXX@
export COMPILER_PLUGINS_CXXFLAGS=@COMPILER_PLUGINS_CXXFLAGS@
diff --git a/configure.ac b/configure.ac
index d17299ecd23f..e82bc1b5adf5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1223,6 +1223,11 @@ if test "$enable_compiler_plugins" = debug; then
COMPILER_PLUGINS_DEBUG=TRUE
fi
+libo_FUZZ_ARG_ENABLE(compiler-plugins-analyzer-pch,
+ AS_HELP_STRING([--disable-compiler-plugins-analyzer-pch],
+ [Disable use of precompiled headers when running the Clang compiler plugin analyzer. Not
+ relevant in the --disable-compiler-plugins case.]))
+
libo_FUZZ_ARG_ENABLE(ooenv,
AS_HELP_STRING([--disable-ooenv],
[Disable ooenv for the instdir installation.]))
@@ -7336,7 +7341,12 @@ else
AC_MSG_ERROR([Compiler plugins are currently supported only with the Clang compiler.])
fi
fi
+COMPILER_PLUGINS_ANALYZER_PCH=
+if test "$enable_compiler_plugins_analyzer_pch" != no; then
+ COMPILER_PLUGINS_ANALYZER_PCH=TRUE
+fi
AC_SUBST(COMPILER_PLUGINS)
+AC_SUBST(COMPILER_PLUGINS_ANALYZER_PCH)
AC_SUBST(COMPILER_PLUGINS_COM_IS_CLANG)
AC_SUBST(COMPILER_PLUGINS_CXX)
AC_SUBST(COMPILER_PLUGINS_CXXFLAGS)
diff --git a/distro-configs/Jenkins/linux_clang_dbgutil_64 b/distro-configs/Jenkins/linux_clang_dbgutil_64
index 758c83606d51..b64e77363a02 100644
--- a/distro-configs/Jenkins/linux_clang_dbgutil_64
+++ b/distro-configs/Jenkins/linux_clang_dbgutil_64
@@ -2,4 +2,5 @@
--enable-compiler-plugins
COMPILER_PLUGINS_CXX=ccache g++ -std=c++11
--enable-kf5
+--disable-compiler-plugins-analyzer-pch
--disable-dependency-tracking