RE: Deque fiil/copy/move/copy_backward/move_backward/equal overloads

2019-06-20 Thread Morwenn Ed
That's actually a solution to bug 90409, thanks for it :)

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

Morwenn


De : libstdc++-ow...@gcc.gnu.org  de la part de 
François Dumont 
Envoyé : mercredi 19 juin 2019 19:32
À : libstd...@gcc.gnu.org; gcc-patches
Objet : Deque fiil/copy/move/copy_backward/move_backward/equal overloads

I wanted to implement Debug overloads for those already existing
overloads but then realized that those algos could be generalized. This
way we will benefit from the memmove replacement when operating with C
array or std::array or std::vector iterators.

I might do the same for lexicographical_compare one day.

The ChangeLog below is quite huge so I attached it. I wonder if I could
use deque::iterator and deque::const_iterator in place of the
_Deque_iterator<> to reduce it ?

Tested under Linux x86_64 normal and debug modes, ok to commit ?

François



RE: sized delete in _Temporary_buffer<>

2019-07-19 Thread Morwenn Ed
If I'm not mistaken this patch allocates N*sizeof(_Tp) bytes of storage and 
deallocates N bytes when sized deallocation is enabled?

Shouldn't __return_temporary_buffer deallocate N*sizeof(_Tp) instead to match 
the value passed to new?


De : libstdc++-ow...@gcc.gnu.org  de la part de 
François Dumont 
Envoyé : jeudi 18 juillet 2019 07:41
À : libstd...@gcc.gnu.org ; gcc-patches 

Objet : sized delete in _Temporary_buffer<>

As we adopted the sized deallocation in the new_allocator why not doing
the same in _Temporary_buffer<>.

 * include/bits/stl_tempbuf.h (__detail::__return_temporary_buffer):
New.
 (~_Temporary_buffer()): Use latter.
 (_Temporary_buffer(_FIterator, size_type)): Likewise.

Tested w/o activating sized deallocation. I'll try to run tests with
this option activated.

Ok to commit ?

François