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 > > >
