+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