[PATCH] libstdc++: Implement C++20 features for <sstream>

Jonathan Wakely jwakely@redhat.com
Thu Oct 29 22:51:00 GMT 2020


On 29/10/20 21:41 +0000, Jonathan Wakely wrote:
>On 29/10/20 21:06 +0100, Rainer Orth wrote:
>>Tightening the patterns as in the attached patch at least allows
>>libstdc++.so.6 to link on i386-pc-solaris2.11; full bootstrap still
>>running.  However, I can't tell if this is really correct.
>
>I think we want this attached patch instead. It tightens them up to
>exactly the symbols we actually need to export and no more. This will
>avoid needing to tighten them again in the near future when the new
>overloads of str() are added.
>
>

>diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
>index 80994b203df..4dddfd3d263 100644
>--- a/libstdc++-v3/config/abi/pre/gnu.ver
>+++ b/libstdc++-v3/config/abi/pre/gnu.ver
>@@ -1791,11 +1791,11 @@ GLIBCXX_3.4.21 {
>     _ZNSt7__cxx1119basic_[io]stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]ESt13_Ios_Openmode;
>     _ZNSt7__cxx1119basic_[io]stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EED[012]Ev;
>     _ZNSt7__cxx1119basic_[io]stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EE[a34]*;
>-    _ZNKSt7__cxx1115basic_stringbuf*;
>+    _ZNKSt7__cxx1115basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE3strEv;
>     _ZNKSt7__cxx1118basic_stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EE3strEv;
>     _ZNKSt7__cxx1118basic_stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EE5rdbufEv;
>-    _ZNKSt7__cxx1119basic_istringstream*;
>-    _ZNKSt7__cxx1119basic_ostringstream*;
>+    _ZNKSt7__cxx1119basic_[io]stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EE3strEv;
>+    _ZNKSt7__cxx1119basic_[io]stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EE5rdbufEv;
>     _ZT[ISTV]NSt7__cxx1115basic_stringbuf*;
>     _ZT[ISTV]NSt7__cxx1118basic_stringstream*;
>     _ZT[ISTV]NSt7__cxx1119basic_istringstream*;


Pushed to trunk now.




More information about the Libstdc++ mailing list