This is an archive of the discontinued LLVM Phabricator instance.

Revert "[libc++][Modules] Add missing includes and exports"
AbandonedPublic

Authored by iana on Jun 17 2023, 6:54 PM.

Details

Reviewers
ldionne
Mordante
philnik
Bigcheese
Group Reviewers
Restricted Project
Summary

It doesn't help modules to add extra includes for things that are already transitively included. What's needed is additional module exports.

This reverts commit 79702f7f593dece7afb67fec03df884d50525b96.

Diff Detail

Event Timeline

iana created this revision.Jun 17 2023, 6:54 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 17 2023, 6:54 PM
Herald added a subscriber: ributzka. · View Herald Transcript
iana requested review of this revision.Jun 17 2023, 6:54 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 17 2023, 6:54 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
iana updated this revision to Diff 532506.Jun 18 2023, 7:33 PM

Reorder in the stack

iana updated this revision to Diff 534243.Jun 24 2023, 11:25 AM

Add a missing export

iana updated this revision to Diff 536822.Jul 3 2023, 10:12 AM

Rebase, fix merge conflict

iana updated this revision to Diff 536899.Jul 3 2023, 2:25 PM

Rebase

ldionne requested changes to this revision.Jul 4 2023, 12:08 PM

This is removing a bunch of includes that are used by the files in which they appear(ed). I don't understand why we'd want to do this. Can you explain?

This revision now requires changes to proceed.Jul 4 2023, 12:08 PM
iana abandoned this revision.Jul 4 2023, 9:35 PM

This is removing a bunch of includes that are used by the files in which they appear(ed). I don't understand why we'd want to do this. Can you explain?

This was a fix I originally did for some errors that I was seeing in D144322. It turned out that once I fixed these compile errors, I just got link errors. Those needed module exports to fix, and it was easier to go back to the original state to figure out which of the transitive includes, that are visible in a mega-module setup, are the load bearing ones for the linker. But I agree that in the end it it's more correct to have all of these includes so I'll drop this review.