sam-mccall wrote: > @sam-mccall That makes sense. > > I think one option we have here is to consider all module maps describing a > textual header that got included as affecting. I'm concerned that a long > chain of textual header includes might again be problematic.
Yeah, that's the option that comes closest to preserving previous behavior, and the one that I think most precisely captures the "affecting" semantics - including the module maps that were required for the compilation. I've sent a version of this as https://github.com/llvm/llvm-project/pull/89729, based on your first commit here. > For this particular test, we only need to consider the module maps describing > `use`d modules affecting to keep `-fmodules-strict-decluse` happy, which > seems like a more precise solution. I'm not sure this is correct in general: if A uses B which uses C, and both B and C are textual, then C.modulemap affects the compilation of A.pcm but won't be picked up. https://github.com/llvm/llvm-project/pull/89441 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits