https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92546

--- Comment #24 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>:

https://gcc.gnu.org/g:acf3a21cbc26b39b73c0006300f35ff017ddd6cb

commit r12-4083-gacf3a21cbc26b39b73c0006300f35ff017ddd6cb
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Fri Oct 1 20:37:02 2021 +0100

    libstdc++: Reduce header dependencies for C++20 std::erase [PR92546]

    This reduces the preprocessed size of <deque>, <string> and <vector> by
    not including <bits/stl_algo.h> for std::remove and std::remove_if.

    Also unwrap iterators using __niter_base, to avoid redundant debug mode
    checks.

            PR libstdc++/92546
            * include/bits/erase_if.h (__erase_nodes_if): Use __niter_base to
            unwrap debug iterators.
            * include/bits/refwrap.h: Do not error if included in C++03.
            * include/bits/stl_algo.h (__remove_if): Move to ...
            * include/bits/stl_algobase.h (__remove_if): ... here.
            * include/std/deque (erase, erase_if): Use __remove_if instead of
            remove and remove_if.
            * include/std/string (erase, erase_if): Likewise.
            * include/std/vector (erase, erase_if): Likewise.
  • [Bug libstdc++/92546] Large inc... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to