Hey Eric - thanks for the fix - but could you explain the issue here in a bit more detail, as I'm a bit confused (& really interested in understanding any layering problems in LLVM - and fixing them/making sure they're fixed/holding the line/etc)
What do you mean by "pull all of the AST matchers library into clang" - how does including a header ever add a link dependency? - Dave On Sat, Sep 22, 2018 at 5:49 PM Eric Fiselier via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: ericwf > Date: Sat Sep 22 17:48:05 2018 > New Revision: 342827 > > URL: http://llvm.org/viewvc/llvm-project?rev=342827&view=rev > Log: > 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. > > Modified: > cfe/trunk/include/clang/module.modulemap > > Modified: cfe/trunk/include/clang/module.modulemap > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/module.modulemap?rev=342827&r1=342826&r2=342827&view=diff > > ============================================================================== > --- cfe/trunk/include/clang/module.modulemap (original) > +++ cfe/trunk/include/clang/module.modulemap Sat Sep 22 17:48:05 2018 > @@ -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 { > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits