[clang] [Modules] Don't fail when an unused textual header is missing. (PR #138227)

Ilya Biryukov via cfe-commits cfe-commits at lists.llvm.org
Wed May 21 02:02:12 PDT 2025


ilya-biryukov wrote:

> What is your timeframe for stopping putting the same header ("wrap_foo.h") into multiple modules? If you do that it was never guaranteed which module would be used for a header. I'm willing to unblock you but I'd like to know if you are committed to fixing the issue in the module maps.

I don't think we can ever get rid of that pattern and we will keep relying on Clang supporting this. I am sure there are ways to meet both your needs and our needs.

To reiterate, Clang supports having the same header in multiple module maps and we don't view our current setup as having at a high level. I just want to explicit that our stance is that there are no issues that need "fixing in the module maps".
Relying on Clang picking a header from a module when it's available is also something we'd like to keep.

How we achieve this today is shaky (relying on availability doesn't look right), but we absolutely need:
- to allow multiple modules own the same header,
- whenever resolving module for the header, pick one that has the header as modular over textual.

https://github.com/llvm/llvm-project/pull/138227


More information about the cfe-commits mailing list