RE: Deque fiil/copy/move/copy_backward/move_backward/equal overloads
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<>
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