This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Keep std::deque algos specializations in Debug mode


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]