This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Granularize <exception> includes
ClosedPublic

Authored by philnik on Mar 14 2023, 2:52 PM.

Details

Reviewers
ldionne
Mordante
Group Reviewers
Restricted Project
Commits
rGc9d36bd80760: [libc++] Granularize <exception> includes

Diff Detail

Event Timeline

philnik created this revision.Mar 14 2023, 2:52 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 14 2023, 2:52 PM
Herald added a subscriber: smeenai. · View Herald Transcript
philnik requested review of this revision.Mar 14 2023, 2:52 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 14 2023, 2:52 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
ldionne accepted this revision.Mar 16 2023, 8:16 AM

I am fine with this in principle, but there seems to be a bit of work needed still. LGTM once CI is green. Also, when you remove transitive includes from a public header, let's add it to a _LIBCPP_REMOVE_TRANSITIVE_INCLUDES block (even if it might not be needed strictly speaking because the transitive include still exists via a private header). That documents what the public header is including and for what reasons (e.g. _LIBCPP_REMOVE_TRANSITIVE_INCLUDES implies the reason is legacy), and that's useful to know.

libcxx/include/__functional/function.h
34–35

Are those not needed at all?

libcxx/include/functional
546

Don't we need to add this below to the _LIBCPP_REMOVE_TRANSITIVE_INCLUDES block?

libcxx/include/variant
242

_LIBCPP_REMOVE_TRANSITIVE_INCLUDES?

This revision is now accepted and ready to land.Mar 16 2023, 8:16 AM
philnik updated this revision to Diff 505964.Mar 16 2023, 6:22 PM
philnik marked 3 inline comments as done.

address comments

philnik updated this revision to Diff 506291.Mar 18 2023, 5:51 AM

Try to fix CI

This revision was landed with ongoing or failed builds.Mar 19 2023, 2:28 AM
This revision was automatically updated to reflect the committed changes.