libstdc++-v3/ChangeLog:

        PR libstdc++/97729
        * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Add exports.
        * src/c++20/sstream-inst.cc (basic_stringbuf): Instantiate
        private constructor taking __xfer_bufptrs.

Tested powerpc64le-linux. Committed to trunk.

commit 50b840ac5e1d6534e345c3fee9a97ae45ced6bc7
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Thu Nov 5 13:41:40 2020

    libstdc++: Export basic_stringbuf constructor [PR 97729]
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/97729
            * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Add exports.
            * src/c++20/sstream-inst.cc (basic_stringbuf): Instantiate
            private constructor taking __xfer_bufptrs.

diff --git a/libstdc++-v3/config/abi/pre/gnu.ver 
b/libstdc++-v3/config/abi/pre/gnu.ver
index 707539a17c3a..ed68ffa28723 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -2346,6 +2346,7 @@ GLIBCXX_3.4.29 {
 
     # basic_stringbuf::basic_stringbuf(basic_stringbuf&&, allocator const&)
     
_ZNSt7__cxx1115basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]EOS4_RKS3_;
+    
_ZNSt7__cxx1115basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]EOS4_RKS3_ONS4_14__xfer_bufptrsE;
 
     # basic_stringbuf::get_allocator()
     
_ZNKSt7__cxx1115basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE13get_allocatorEv;
diff --git a/libstdc++-v3/src/c++20/sstream-inst.cc 
b/libstdc++-v3/src/c++20/sstream-inst.cc
index ada3eabac1f5..7d275de5cc24 100644
--- a/libstdc++-v3/src/c++20/sstream-inst.cc
+++ b/libstdc++-v3/src/c++20/sstream-inst.cc
@@ -41,6 +41,9 @@ template 
basic_stringbuf<char>::basic_stringbuf(__string_type&&,
                                                ios_base::openmode);
 template basic_stringbuf<char>::basic_stringbuf(basic_stringbuf&&,
                                                const allocator_type&);
+template basic_stringbuf<char>::basic_stringbuf(basic_stringbuf&&,
+                                               const allocator_type&,
+                                               __xfer_bufptrs&&);
 template basic_stringbuf<char>::allocator_type
 basic_stringbuf<char>::get_allocator() const noexcept;
 template string_view
@@ -75,6 +78,9 @@ template 
basic_stringbuf<wchar_t>::basic_stringbuf(__string_type&&,
                                                   ios_base::openmode);
 template basic_stringbuf<wchar_t>::basic_stringbuf(basic_stringbuf&&,
                                                   const allocator_type&);
+template basic_stringbuf<wchar_t>::basic_stringbuf(basic_stringbuf&&,
+                                                  const allocator_type&,
+                                                  __xfer_bufptrs&&);
 template basic_stringbuf<wchar_t>::allocator_type
 basic_stringbuf<wchar_t>::get_allocator() const noexcept;
 

Reply via email to