From: Jonathan Wakely Date: Tue, 30 Nov 2021 22:04:49 +0000 (+0000) Subject: libstdc++: Ensure C++20 std::stringstream definitions use correct ABI X-Git-Tag: basepoints/gcc-13~2670 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=56b07badf052fb140c4636f6d77cfc02d1ac357c;p=thirdparty%2Fgcc.git libstdc++: Ensure C++20 std::stringstream definitions use correct ABI The definitions of the new C++20 members of std::stringstream etc are missing when --with-default-libstdcxx-abi=gcc4-compatible is used, because all the explicit instantiations in src/c++20/sstream-inst.cc are skipped. This ensures the contents of that file are compiled with the new ABI, so the same set of symbols are exported regardless of which ABI is active by default. libstdc++-v3/ChangeLog: * src/c++20/sstream-inst.cc (_GLIBCXX_USE_CXX11_ABI): Define to select new ABI. --- diff --git a/libstdc++-v3/src/c++20/sstream-inst.cc b/libstdc++-v3/src/c++20/sstream-inst.cc index b3fbd6ead441..55d1fe5234d4 100644 --- a/libstdc++-v3/src/c++20/sstream-inst.cc +++ b/libstdc++-v3/src/c++20/sstream-inst.cc @@ -26,7 +26,9 @@ // ISO C++ 14882: // -// Instantiations in this file are only for the new SSO std::string ABI +// Instantiations in this file are only for the new SSO std::string ABI. +#define _GLIBCXX_USE_CXX11_ABI 1 + #include #if _GLIBCXX_USE_CXX11_ABI