This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Make __dir_stream visibility declaration consistent
ClosedPublic

Authored by dim on Mar 14 2022, 2:08 PM.

Details

Summary

The class __dir_stream is currently declared in two places: as a top-level forward declaration in directory_iterator.h, and as a friend declaration in class directory_entry, in directory_entry.h.

The former has a _LIBCPP_HIDDEN attribute, but the latter does not, causing the Firefox build to complain about the visibility not matching the previous declaration. This is because Firefox plays games with pushing and popping visibility.

Work around this by making both __dir_stream declarations consistently use _LIBCPP_HIDDEN.

Diff Detail

Event Timeline

dim created this revision.Mar 14 2022, 2:08 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 14 2022, 2:08 PM
dim requested review of this revision.Mar 14 2022, 2:08 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 14 2022, 2:08 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
dim edited the summary of this revision. (Show Details)Mar 14 2022, 2:10 PM
philnik accepted this revision as: philnik.Mar 14 2022, 2:17 PM
ldionne accepted this revision.Mar 15 2022, 10:16 AM
This revision is now accepted and ready to land.Mar 15 2022, 10:16 AM
This revision was automatically updated to reflect the committed changes.