This bumps the library version to libstdc++.so.6.0.23 because we have
a load of new symbols appearing in std::basic_string.

        * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
        * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
        symbols.
        * configure: Regenerate.
        * testsuite/util/testsuite_abi.cc: Add new symbol version.

Tested x86_64-linux, powerpc64-linux, committed to trunk.

commit 8ea40623fdaa4538918647f87d626e70844fa56c
Author: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri Jul 29 10:42:17 2016 +0000

    New libstdc++ symbol version for new basic_string symbols
    
        * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
        * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
        symbols.
        * configure: Regenerate.
        * testsuite/util/testsuite_abi.cc: Add new symbol version.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238853 
138bc75d-0d04-0410-961f-82ee72b054a4

diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 0824243..aaf5adb 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -3696,7 +3696,7 @@ changequote([,])dnl
 fi
 
 # For libtool versioning info, format is CURRENT:REVISION:AGE
-libtool_VERSION=6:22:0
+libtool_VERSION=6:23:0
 
 # Everything parsed; figure out what files and settings to use.
 case $enable_symvers in
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver 
b/libstdc++-v3/config/abi/pre/gnu.ver
index 5c6b0fe..b7f54e2 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -1678,7 +1678,12 @@ GLIBCXX_3.4.21 {
     _ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv;
 
     # ABI-tagged std::basic_string
-    _ZNSt7__cxx1112basic_string*;
+    _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE1[01]**;
+    
_ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE12_Alloc_hiderC[12]EP[cw]RKS3_;
+    _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE12_M*;
+    _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE1[3-9]*;
+    _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE[2-9]*;
+    _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE[CDaip]*;
     _ZNKSt7__cxx1112basic_string*;
 
     # operator+ for ABI-tagged std::basic_string
@@ -1909,6 +1914,13 @@ GLIBCXX_3.4.22 {
 
 } GLIBCXX_3.4.21;
 
+GLIBCXX_3.4.23 {
+
+    # basic_string<C, T, A>::_Alloc_hider::_Alloc_hider(C*, A&&)
+    
_ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE12_Alloc_hiderC[12]EP[cw]OS3_;
+
+} GLIBCXX_3.4.22;
+
 # Symbols in the support library (libsupc++) have their own tag.
 CXXABI_1.3 {
 
diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.cc 
b/libstdc++-v3/testsuite/util/testsuite_abi.cc
index caf1544..9001345 100644
--- a/libstdc++-v3/testsuite/util/testsuite_abi.cc
+++ b/libstdc++-v3/testsuite/util/testsuite_abi.cc
@@ -201,8 +201,9 @@ check_version(symbol& test, bool added)
       known_versions.push_back("GLIBCXX_3.4.19");
       known_versions.push_back("GLIBCXX_3.4.20");
       known_versions.push_back("GLIBCXX_3.4.21");
-      known_versions.push_back("GLIBCXX_3.4.22");
       known_versions.push_back("GLIBCXX_LDBL_3.4.21");
+      known_versions.push_back("GLIBCXX_3.4.22");
+      known_versions.push_back("GLIBCXX_3.4.23");
       known_versions.push_back("CXXABI_1.3");
       known_versions.push_back("CXXABI_LDBL_1.3");
       known_versions.push_back("CXXABI_1.3.1");
@@ -232,7 +233,7 @@ check_version(symbol& test, bool added)
        test.version_status = symbol::incompatible;
 
       // Check that added symbols are added in the latest pre-release version.
-      bool latestp = (test.version_name == "GLIBCXX_3.4.22"
+      bool latestp = (test.version_name == "GLIBCXX_3.4.23"
                     || test.version_name == "CXXABI_1.3.10"
                     || test.version_name == "CXXABI_FLOAT128"
                     || test.version_name == "CXXABI_TM_1");

Reply via email to