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

Reply via email to