From 91cef98d2c41eff0dea474a760d2dce5ba873209 Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Sun, 23 Sep 2018 00:48:05 +0000 Subject: [PATCH] Fix modules build with shared library. r341994 caused clangAnalysis to pull all of the AST matchers library into clang. Due to inline key functions in the headers, importing the AST matchers library gives a link dependency on the AST matchers (and thus the AST), which clang should not have. This patch works around the issues by excluding the offending libclangAnalysis header in the modulemap. llvm-svn: 342827 --- clang/include/clang/module.modulemap | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/clang/include/clang/module.modulemap b/clang/include/clang/module.modulemap index 8d525c5ffbac..4cf5cd44bf36 100644 --- a/clang/include/clang/module.modulemap +++ b/clang/include/clang/module.modulemap @@ -5,6 +5,12 @@ module Clang_Analysis { textual header "Analysis/Analyses/ThreadSafetyOps.def" module * { export * } + + // FIXME: Exclude these headers to avoid pulling all of the AST matchers + // library into clang. Due to inline key functions in the headers, + // importing the AST matchers library gives a link dependency on the AST + // matchers (and thus the AST), which clang-format should not have. + exclude header "Analysis/Analyses/ExprMutationAnalyzer.h" } module Clang_AST {