https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118395

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Making this constexpr requires major changes:

        size_t const __count = (_M_expected + 1) >> 1;

        _M_state = std::make_unique<__state_t[]>(__count);


We can't allocate an array during constant initialization, so we'll need to
defer the allocation until the first call to arrive(), and then make that
initialization thread-safe.

Reply via email to