commit 8ea40623fdaa4538918647f87d626e70844fa56c Author: redi 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::_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");