This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Improves modular build.
ClosedPublic

Authored by Mordante on Oct 16 2022, 11:49 AM.

Details

Reviewers
ldionne
Group Reviewers
Restricted Project
Commits
rGa469ce4f505e: [libc++] Improves modular build.
Summary

Makes sure headers having a std::ranges::less as default argument export
the proper header. Without exporting these modularized headers are not
self contained.

Diff Detail

Event Timeline

Mordante created this revision.Oct 16 2022, 11:49 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 16 2022, 11:49 AM
Mordante requested review of this revision.Oct 16 2022, 11:49 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 16 2022, 11:49 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript

Is there a way we can catch this with a test?

CC @var-const since you've been looking into local submodules visibility

ldionne accepted this revision.Oct 18 2022, 9:07 AM

Mark explained to me that he discovered this while writing new code that used e.g. ranges::sort using the __algorithm/ranges_sort.h granular header, and then his modules build started failing. So this would effectively start failing in the CI's modular build if we were to check-in his patches. That satisfies my ask for a way to test this.

This revision is now accepted and ready to land.Oct 18 2022, 9:07 AM
This revision was automatically updated to reflect the committed changes.