git: 8a74220dbb02 - stable/12 - Apply upstream libc++ fix to allow building with devel/xxx-xtoolchain-gcc

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sat, 25 Dec 2021 11:55:29 UTC
The branch stable/12 has been updated by dim:

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

commit 8a74220dbb02930328b37ba1c5ebcf7280304722
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2021-06-14 18:44:09 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2021-12-25 11:51:07 +0000

    Apply upstream libc++ fix to allow building with devel/xxx-xtoolchain-gcc
    
    Merge commit 52e9d80d5db2 from llvm git (by Jason Liu):
    
      [libc++] add `inline` for __open's definition in ifstream and ofstream
    
      Summary:
    
      When building with gcc on AIX, it seems that gcc does not like the
      `always_inline` without the `inline` keyword.
      So adding the inline keywords in for __open in ifstream and ofstream.
      That will also make it consistent with __open in basic_filebuf
      (it seems we added `inline` there before for gcc build as well).
    
      Differential Revision: https://reviews.llvm.org/D99422
    
    PR:             255570
    MFC after:      6 weeks
    
    (cherry picked from commit d099db25464b826c5724cf2fb5b22292bbe15f6e)
---
 contrib/llvm-project/libcxx/include/fstream | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/contrib/llvm-project/libcxx/include/fstream b/contrib/llvm-project/libcxx/include/fstream
index d7d6b46c32d9..7b1bbfe16c01 100644
--- a/contrib/llvm-project/libcxx/include/fstream
+++ b/contrib/llvm-project/libcxx/include/fstream
@@ -244,7 +244,7 @@ public:
       return open(__p.c_str(), __mode);
     }
 #endif
-    inline _LIBCPP_INLINE_VISIBILITY
+    _LIBCPP_INLINE_VISIBILITY
     basic_filebuf* __open(int __fd, ios_base::openmode __mode);
 #endif
     basic_filebuf* close();
@@ -574,7 +574,7 @@ basic_filebuf<_CharT, _Traits>::open(const char* __s, ios_base::openmode __mode)
 }
 
 template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
+inline
 basic_filebuf<_CharT, _Traits>*
 basic_filebuf<_CharT, _Traits>::__open(int __fd, ios_base::openmode __mode) {
   basic_filebuf<_CharT, _Traits>* __rt = nullptr;
@@ -1326,6 +1326,7 @@ basic_ifstream<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mo
 }
 
 template <class _CharT, class _Traits>
+inline
 void basic_ifstream<_CharT, _Traits>::__open(int __fd,
                                              ios_base::openmode __mode) {
   if (__sb_.__open(__fd, __mode | ios_base::in))
@@ -1539,6 +1540,7 @@ basic_ofstream<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mo
 }
 
 template <class _CharT, class _Traits>
+inline
 void basic_ofstream<_CharT, _Traits>::__open(int __fd,
                                              ios_base::openmode __mode) {
   if (__sb_.__open(__fd, __mode | ios_base::out))