git: a1f13cbcbb26 - main - Apply libc++ fix for firefox visibility push/pop issue

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sat, 14 May 2022 11:50:00 UTC
The branch main has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=a1f13cbcbb26465d8b54c18a294896add63d6536

commit a1f13cbcbb26465d8b54c18a294896add63d6536
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2022-03-15 20:32:06 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2022-05-14 11:46:21 +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
---
 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,