Keep std::deque algos specializations in Debug mode

François Dumont frs.dumont@gmail.com
Wed Aug 29 20:11:00 GMT 2018


On 08/28/2018 09:00 PM, Jonathan Wakely wrote:
> On 25/08/18 22:44 +0200, François Dumont wrote:
>> The last optimizations that get disabled when Debug mode is enable 
>> are the algo specializations for std::deque iterators.
>>
>> This patch move those algos in std namespace as they should even when 
>> Debug mode is enable so that they get considered even when calls are 
>> made with the namespace qualification. And it adds all the algos 
>> Debug implementations which forward to normal implementations to 
>> benefit from optimizations.
>
> Please add a ChangeLog to the patch.
>
>
>
     * include/bits/stl_deque.h
     (fill, copy, copy_backward, move, move_backward): Move overloads for
     std::deque iterators directly in std namespace.
     * include/bits/deque.tcc: Likewise.
     * include/debug/deque (fill, copy, copy_backward, move, move_backward):
     New overloads for std::__debug::deque iterators. Forward to normal and
     optimized implementations after proper debug checks.
     * testsuite/23_containers/deque/copy.cc: New.
     * testsuite/23_containers/deque/copy_backward.cc: New.
     * testsuite/23_containers/deque/fill.cc: New.
     * testsuite/23_containers/deque/move.cc: New.
     * testsuite/23_containers/deque/move_backward.cc: New.

Ok to commit ?

François



More information about the Libstdc++ mailing list