Fix modules build with shared library.
authorEric Fiselier <eric@efcs.ca>
Sun, 23 Sep 2018 00:48:05 +0000 (00:48 +0000)
committerEric Fiselier <eric@efcs.ca>
Sun, 23 Sep 2018 00:48:05 +0000 (00:48 +0000)
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

index 8d525c5..4cf5cd4 100644 (file)
@@ -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 {