On Wed, 20 May 2026 at 08:11, Nathan Myers <[email protected]> wrote:
>
> Done. The 2nd Changelog entry as committed is
>
>    * include/bits/basic_string.tcc (reserve): Guard __limit decl
>    under #if __cpp_exceptions to quiet warning
>


Thanks!


> On 5/20/26 2:56 AM, Jonathan Wakely wrote:
> >
> >
> > On Wed, 20 May 2026, 01:06 Nathan Myers, <[email protected]
> > <mailto:[email protected]>> wrote:
> >
> >     Patch build failures from 2026-05-19 09:33:58
> >
> >     libstdc++-v3/Changelog:
> >              * config/abi/pre/gnu.ver: Remove recent symbol swept up in
> >              GLIBCXX_3.4.21.
> >              * include/bits/basic_string.tcc (reserve): Guard __limit decl
> >              under #ifdef __glibcxx_allocate_at_least to quiet warning.
> >
> >
> >
> > It was already guarded under that macro, shouldn't this be __cpp_exceptions?
> >
> > OK either way, since this needs to be fixed.
> >
> >
> >     ---
> >       libstdc++-v3/config/abi/pre/gnu.ver        |  2 +-
> >       libstdc++-v3/include/bits/basic_string.tcc | 14 ++++++++------
> >       2 files changed, 9 insertions(+), 7 deletions(-)
> >
> >     diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/
> >     config/abi/pre/gnu.ver
> >     index bf4d7338cb6..3a6afac8308 100644
> >     --- a/libstdc++-v3/config/abi/pre/gnu.ver
> >     +++ b/libstdc++-v3/config/abi/pre/gnu.ver
> >     @@ -1775,7 +1775,7 @@ GLIBCXX_3.4.21 {
> >
> >       
> > _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE12_M_constructI[NP]*;
> >           _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE13*;
> >
> >       
> > _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE14_M_replace_aux*;
> >     -
> >     _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE1[68-9]*;
> >     +
> >     _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE1[68]*;
> >
> >       _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE2at*;
> >
> >       _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE3end*;
> >
> >       _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE4back*;
> >     diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-
> >     v3/include/bits/basic_string.tcc
> >     index 5f83991db83..64c99fbb9d6 100644
> >     --- a/libstdc++-v3/include/bits/basic_string.tcc
> >     +++ b/libstdc++-v3/include/bits/basic_string.tcc
> >     @@ -433,11 +433,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
> >             if (_M_is_local())
> >              return;
> >
> >     -#ifdef __glibcxx_allocate_at_least  // C++23
> >     -      const size_type __limit = (__STDCPP_DEFAULT_NEW_ALIGNMENT__ -
> >     1) / sizeof(_CharT);
> >     -#else
> >     -      const size_type __limit = 0;
> >     -#endif
> >             const size_type __length = length();
> >             const size_type __capacity = _M_allocated_capacity;
> >
> >     @@ -447,9 +442,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
> >                this->_S_copy(_M_local_buf, _M_data(), __length + 1);
> >                _M_destroy(__capacity);
> >                _M_data(_M_local_data());
> >     +         return;
> >              }
> >       #if __cpp_exceptions
> >     -      else if (__capacity - __length > __limit )
> >     +#ifdef __glibcxx_allocate_at_least  // C++23
> >     +      const size_type __limit =
> >     +       (__STDCPP_DEFAULT_NEW_ALIGNMENT__ - 1) / sizeof(_CharT);
> >     +#else
> >     +      const size_type __limit = 0;
> >     +#endif
> >     +      if (__capacity - __length > __limit )
> >              try
> >                {
> >                  _Alloc_result __r = _S_allocate_at_least(
> >     --
> >     2.54.0
> >
>

Reply via email to