As part of the backport of r17-471-ge79f0f818c0e42 and 
r17-2193-g50cbacfaa1e776),
the corresponding exports of chrono::__detail::__recent_leap_second_info and
specializations of basic_format_arg::_M_handle_unrecognized also need to be
introduced. This also require bump of the libtool_VERSION to 3.4.36.

This patch bumps version again to 3.4.37 and moves remaining symbols defined
in GCC 17 (basic_string's _S_allocate_at_least and _M_create_plus) to it.

libstdc++-v3/ChangeLog:

        * acinclude.m4 (libtool_VERSION): Bump version.
        * config/abi/pre/gnu.ver (GLIBCXX_3.4.37): Add new symbol
        version and move basic_string's _S_allocate_at_least and
        _M_create_plus  symbols to it.
        * configure: Regenerate.
        * testsuite/util/testsuite_abi.cc: Update known_versions
        and latestp.
---
 libstdc++-v3/acinclude.m4                    | 2 +-
 libstdc++-v3/config/abi/pre/gnu.ver          | 9 +++++++--
 libstdc++-v3/configure                       | 2 +-
 libstdc++-v3/testsuite/util/testsuite_abi.cc | 3 ++-
 4 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index c064b1271ec..7942ce0ffa2 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -4087,7 +4087,7 @@ changequote([,])dnl
 fi
 
 # For libtool versioning info, format is CURRENT:REVISION:AGE
-libtool_VERSION=6:36:0
+libtool_VERSION=6:37: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 9e1bebb4f50..4fbb87acee3 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -2623,7 +2623,7 @@ GLIBCXX_3.4.35 {
 
 } GLIBCXX_3.4.34;
 
-# GCC 17.1.0
+# GCC 16.2.0
 GLIBCXX_3.4.36 {
 
     _ZNSt6chrono8__detail25__recent_leap_second_infoERNS_16leap_second_infoEj;
@@ -2632,11 +2632,16 @@ GLIBCXX_3.4.36 {
     # basic_format_arg<wformat_context>::handle 
basic_format_arg<wformat_context>::_M_handle_unrecognized() const;
     
_ZNKSt16basic_format_argISt20basic_format_contextINSt8__format10_Sink_iterI[cw]EE[cw]EE22_M_handle_unrecognizedEv;
 
+} GLIBCXX_3.4.35;
+
+# GCC 17.1.0
+GLIBCXX_3.4.37 {
+
     # basic_string::allocate_at_least
     
_ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE*_S_allocate_*;
     _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE*_M_create_*;
 
-} GLIBCXX_3.4.35;
+} GLIBCXX_3.4.36;
 
 # Symbols in the support library (libsupc++) have their own tag.
 CXXABI_1.3 {
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 101212d06a8..96e3298a28b 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -51016,7 +51016,7 @@ $as_echo "$as_me: WARNING: === Symbol versioning will 
be disabled." >&2;}
 fi
 
 # For libtool versioning info, format is CURRENT:REVISION:AGE
-libtool_VERSION=6:36:0
+libtool_VERSION=6:37:0
 
 # Everything parsed; figure out what files and settings to use.
 case $enable_symvers in
diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.cc 
b/libstdc++-v3/testsuite/util/testsuite_abi.cc
index 4e80c5f184a..bc637f6671c 100644
--- a/libstdc++-v3/testsuite/util/testsuite_abi.cc
+++ b/libstdc++-v3/testsuite/util/testsuite_abi.cc
@@ -218,6 +218,7 @@ check_version(symbol& test, bool added)
       known_versions.push_back("GLIBCXX_3.4.34");
       known_versions.push_back("GLIBCXX_3.4.35");
       known_versions.push_back("GLIBCXX_3.4.36");
+      known_versions.push_back("GLIBCXX_3.4.37");
       known_versions.push_back("GLIBCXX_LDBL_3.4.31");
       known_versions.push_back("GLIBCXX_IEEE128_3.4.29");
       known_versions.push_back("GLIBCXX_IEEE128_3.4.30");
@@ -261,7 +262,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.36"
+      bool latestp = (test.version_name == "GLIBCXX_3.4.37"
                     || test.version_name == "CXXABI_1.3.17"
                     || test.version_name == "CXXABI_FLOAT128"
                     || test.version_name == "CXXABI_TM_1");
-- 
2.55.0

Reply via email to