On 29/05/17 22:55 +0200, François Dumont wrote:
Hi
It wasn't such a big deal to restore value-init of the allocator.
So here is the updated patch.
I used:
_Bvector_impl() _GLIBCXX_NOEXCEPT_IF( noexcept(_Bit_alloc_type()) )
rather than using is_nothrow_default_constructible. Any advantage
in one approach or the other ?
Well in general the is_nothrow_default_constructible trait also tells
you if the type is default-constructible at all, but the form above
won't compile if it isn't default-constructible. In this specific case
it doesn't matter, because that constructor won't compile anyway if
the allocator isn't default-constructible.
I'll complete testing and add a test on this value-initialization
before commit if you agree.
Thanks.
Tests still running but I'm pretty sure it will work the same.
Yes, it should do.
I'm going to commit a fix for PR80893 in vector<bool>::_M_initialize
but I don't think it will conflict with your changes.