[libcxx-commits] [libcxx] 7ab1ab0 - [libc++] Make __dir_stream visibility declaration consistent
Dimitry Andric via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Mar 15 11:31:02 PDT 2022
Author: Dimitry Andric
Date: 2022-03-15T19:30:35+01:00
New Revision: 7ab1ab0db40158e6f0794637054c98376e236a6d
URL: https://github.com/llvm/llvm-project/commit/7ab1ab0db40158e6f0794637054c98376e236a6d
DIFF: https://github.com/llvm/llvm-project/commit/7ab1ab0db40158e6f0794637054c98376e236a6d.diff
LOG: [libc++] Make __dir_stream visibility declaration consistent
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`.
Reviewed By: ldionne, philnik, #libc
Differential Revision: https://reviews.llvm.org/D121639
Added:
Modified:
libcxx/include/__filesystem/directory_entry.h
Removed:
################################################################################
diff --git a/libcxx/include/__filesystem/directory_entry.h b/libcxx/include/__filesystem/directory_entry.h
index 3db244556cfd8..5ba3ef96de481 100644
--- a/libcxx/include/__filesystem/directory_entry.h
+++ b/libcxx/include/__filesystem/directory_entry.h
@@ -254,7 +254,7 @@ class directory_entry {
private:
friend class directory_iterator;
friend class recursive_directory_iterator;
- friend class __dir_stream;
+ friend class _LIBCPP_HIDDEN __dir_stream;
enum _CacheType : unsigned char {
_Empty,
More information about the libcxx-commits
mailing list