This is an archive of the discontinued LLVM Phabricator instance.

[libc++][format] Removes unneeded includes.
ClosedPublic

Authored by Mordante on Jun 29 2023, 10:58 AM.

Details

Reviewers
philnik
ldionne
Group Reviewers
Restricted Project
Commits
rG285e1e2a0020: [libc++][format] Removes unneeded includes.
Summary

I did a manual review after the post-review comments in D149543

Diff Detail

Event Timeline

Mordante created this revision.Jun 29 2023, 10:58 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 29 2023, 10:58 AM
Mordante updated this revision to Diff 535993.Jun 29 2023, 2:06 PM

Retrigger CI

Mordante published this revision for review.Jun 30 2023, 8:16 AM
Mordante added subscribers: iana, hans.

@hans These are some removals, this might help a tiny bit with D149543. I try to look at the core issue this weekend.

@iana Does removing these header affect your module patches?

Herald added a project: Restricted Project. · View Herald TranscriptJun 30 2023, 8:16 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
iana added a comment.Jun 30 2023, 11:16 AM

@iana Does removing these header affect your module patches?

It might require some more exports in the module map, that should be more apparent after D153832

hans added a comment.Jul 3 2023, 6:40 AM

@hans These are some removals, this might help a tiny bit with D149543. I try to look at the core issue this weekend.

Nice, thanks for looking into this!

philnik accepted this revision.Jul 7 2023, 10:46 AM
philnik added a subscriber: philnik.

Out of curiosity, did this actually help with preprocessed code size?

This revision is now accepted and ready to land.Jul 7 2023, 10:46 AM
ldionne accepted this revision.Jul 7 2023, 2:19 PM

Out of curiosity, did this actually help with preprocessed code size?

I expect it helps a bit, I'm not convinced this solves the vector issue. I have another patch, but I expect that one not to be enough either. If that doesn't help we can not include <__format/*.h> when using C++ < 23 (basically what Hans already proposed). That will solve it for older language versions. When people start to use C++23 they will either have to bite the bullet or start using modules.

This revision was automatically updated to reflect the committed changes.