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