]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Ensure C++20 std::stringstream definitions use correct ABI
authorJonathan Wakely <jwakely@redhat.com>
Tue, 30 Nov 2021 22:04:49 +0000 (22:04 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 30 Nov 2021 23:10:03 +0000 (23:10 +0000)
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.

libstdc++-v3/src/c++20/sstream-inst.cc

index b3fbd6ead44137fb60b27b87686411382739cef0..55d1fe5234d4786dd284bb76b1c7d4b5a9fba719 100644 (file)
@@ -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 <sstream>
 
 #if _GLIBCXX_USE_CXX11_ABI