+rsmith Hi All,
Sorry, I'm not actually sure why this fix is correct.I stole both the fix and the comment from a similar one on L150 of the module map left by Richard Smith. /Eric On Tue, Sep 25, 2018 at 8:36 PM Shuai Wang <shuaiw...@google.com> wrote: > I'd like to understand this better as well, in particular what would be a > proper fix? > > On Tue, Sep 25, 2018 at 2:15 PM David Blaikie <dblai...@gmail.com> wrote: > >> +Shuai Wang >> >> On Tue, Sep 25, 2018 at 2:14 PM David Blaikie <dblai...@gmail.com> wrote: >> >>> 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