[libcxx-commits] [libcxx] [libc++] Harmonize header inclusion for all sorts of subsetting (PR #202246)
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Jun 8 07:55:14 PDT 2026
ldionne wrote:
And the issue we originally hit in https://github.com/llvm/llvm-project/pull/202001 would be resolved if the transitive include generator took into account the carve-outs. Basically, don't generate the list of transitive includes when carve-outs are active, or when the standard version is too old.
I also think that pinning down transitive includes for carved-out headers provides little actual value at the end of the day: users shouldn't really be relying on transitive includes for e.g. `<locale>` when they are using libc++ configured with `has-no-localization`.
So, my overall strawman proposal would be:
1. Enable the header tests (all of them except the transitive includes) in all standard modes and regardless of whether carve-outs are active.
2. For the transitive includes test, continue to only support non-carved out configurations (so, basically keep `UNSUPPORTED: no-localization, no-threads, etc`)
3. Do not generate a reference list of transitive includes with the generation script whenever carve outs are active.
https://github.com/llvm/llvm-project/pull/202246
More information about the libcxx-commits
mailing list