PR libstdc++/90361 add missing macro definition
authorJonathan Wakely <jwakely@redhat.com>
Mon, 12 Aug 2019 16:41:27 +0000 (17:41 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Mon, 12 Aug 2019 16:41:27 +0000 (17:41 +0100)
The src/c++17/string-inst.cc file needs to override the default string
ABI so that it still contains the expected symbols even when the library
is configured with --with-default-libstdcxx-abi=gcc4-compatible.

PR libstdc++/90361
* src/c++17/string-inst.cc: Use _GLIBCXX_USE_CXX11_ABI=1 by default.

From-SVN: r274314

libstdc++-v3/ChangeLog
libstdc++-v3/src/c++17/string-inst.cc

index 6c24ed68054045435aacbbbb86f7a7c616a38247..c6f5b1fbdbb0d7aef40f37d8f01bbc8a685f3595 100644 (file)
@@ -1,5 +1,8 @@
 2019-08-12  Jonathan Wakely  <jwakely@redhat.com>
 
+       PR libstdc++/90361
+       * src/c++17/string-inst.cc: Use _GLIBCXX_USE_CXX11_ABI=1 by default.
+
        * include/std/tuple (__unpack_std_tuple): New variable template and
        partial specializations.
        (apply, make_from_tuple): Add noexcept-specifier.
index c095a90587eaf8f1c5a771d711274266a2b52880..4dc0a9ca449133087df3139bf44bd373e202546e 100644 (file)
 // ISO C++ 14882:2017 24  Strings library
 //
 
+#ifndef _GLIBCXX_USE_CXX11_ABI
+// Instantiations in this file use the new SSO std::string ABI unless included
+// by another file which defines _GLIBCXX_USE_CXX11_ABI=0.
+# define _GLIBCXX_USE_CXX11_ABI 1
+#endif
+
 #include <string>
 
 namespace std _GLIBCXX_VISIBILITY(default)