git: ba5cf9c09f93 - stable/13 - Apply libc++ fix for firefox visibility push/pop issue
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 04 Jun 2022 12:01:17 UTC
The branch stable/13 has been updated by dim:
URL: https://cgit.FreeBSD.org/src/commit/?id=ba5cf9c09f933bdcdb0fd415f3f3582bdf7ca8ec
commit ba5cf9c09f933bdcdb0fd415f3f3582bdf7ca8ec
Author: Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2022-03-15 20:32:06 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2022-06-04 11:59:53 +0000
Apply libc++ fix for firefox visibility push/pop issue
Merge commit 7ab1ab0db401 from llvm git (by Dimitry Andric):
[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
(cherry picked from commit a1f13cbcbb26465d8b54c18a294896add63d6536)
---
contrib/llvm-project/libcxx/include/__filesystem/directory_entry.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/contrib/llvm-project/libcxx/include/__filesystem/directory_entry.h b/contrib/llvm-project/libcxx/include/__filesystem/directory_entry.h
index 91dd1a214588..95e45c02307f 100644
--- a/contrib/llvm-project/libcxx/include/__filesystem/directory_entry.h
+++ b/contrib/llvm-project/libcxx/include/__filesystem/directory_entry.h
@@ -249,7 +249,7 @@ public:
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,