+rsmith (actually this time) On Sun, Sep 30, 2018 at 12:09 PM Eric Fiselier <e...@efcs.ca> wrote:
> +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