sized delete in _Temporary_buffer<>

François Dumont frs.dumont@gmail.com
Fri Jul 19 21:23:00 GMT 2019


(2nd sent attempt as text this time.)

Good spot, fixed with attached patch, committed as trivial.

2019-07-19  François Dumont <fdumont@gcc.gnu.org>

     * include/bits/stl_tempbuf.h (__detail::__return_temporary_buffer): Fix
     sized deallocation size computation.


On 7/19/19 9:46 PM, Morwenn Ed wrote:
> 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++-owner@gcc.gnu.org <libstdc++-owner@gcc.gnu.org> de la 
> part de François Dumont <frs.dumont@gmail.com>
> *Envoyé :* jeudi 18 juillet 2019 07:41
> *À :* libstdc++@gcc.gnu.org <libstdc++@gcc.gnu.org>; gcc-patches 
> <gcc-patches@gcc.gnu.org>
> *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
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: temp_buf.patch
Type: text/x-patch
Size: 483 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20190719/f6ade2e4/attachment.bin>


More information about the Libstdc++ mailing list