> On 20 May 2026, at 07:04, Iain Sandoe <[email protected]> wrote:
>
> Bootstrap currently fails on x86_64 darwin, fixed thus.
> Tested on x86_64-darwin, OK for trunk?
Never mind, I see that Nathan already posted a fix.
Iain
> thanks
> Iain
>
> --- 8< ---
>
> Since r16-603, we have a variable __limit, that is only used when
> exceptions are enabled. Since we do not enable exceptions for bootstrap
> of the compiler, this causes a fail (at least on Darwin) in stage 2
> with .../basic_string.tcc:439:23: error: unused variable '__limit' ...
>
> Fixed by making the variable declaration also conditional on
> __cpp_exceptions.
>
> libstdc++-v3/ChangeLog:
>
> * include/bits/basic_string.tcc: Only declare __limit if we
> are going to use it.
>
> Signed-off-by: Iain Sandoe <[email protected]>
> ---
> libstdc++-v3/include/bits/basic_string.tcc | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/libstdc++-v3/include/bits/basic_string.tcc
> b/libstdc++-v3/include/bits/basic_string.tcc
> index 5f83991db83..b3940e1610c 100644
> --- a/libstdc++-v3/include/bits/basic_string.tcc
> +++ b/libstdc++-v3/include/bits/basic_string.tcc
> @@ -433,10 +433,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
> if (_M_is_local())
> return;
>
> -#ifdef __glibcxx_allocate_at_least // C++23
> +#if __cpp_exceptions
> +# ifdef __glibcxx_allocate_at_least // C++23
> const size_type __limit = (__STDCPP_DEFAULT_NEW_ALIGNMENT__ - 1) /
> sizeof(_CharT);
> -#else
> +# else
> const size_type __limit = 0;
> +# endif
> #endif
> const size_type __length = length();
> const size_type __capacity = _M_allocated_capacity;
> --
> 2.50.1 (Apple Git-155)
>