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

--- Comment #5 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:12a88e6e208fa45a449775bfb9353c777a6081aa

commit r12-7289-g12a88e6e208fa45a449775bfb9353c777a6081aa
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Thu Feb 17 17:37:42 2022 +0000

    libstdc++: Deprecate non-standard std::vector<bool>::insert(pos) [PR104559]

    The SGI STL and pre-1998 drafts of the C++ standard had a default
    argument for vector<bool>::insert(iterator, const bool&) which was
    remove by N1051. The default argument is still present in libstdc++ for
    some reason. There are no tests verifying it as an extension, so I don't
    think it has been kept intentionally.

    This removes the default argument but adds an overload without the
    second parameter, and adds the deprecated attribute to it. This allows
    any code using it to keep working (for now) but with a warning.

    libstdc++-v3/ChangeLog:

            PR libstdc++/104559
            * doc/xml/manual/evolution.xml: Document deprecation.
            * doc/html/manual/api.html: Regenerate.
            * include/bits/stl_bvector.h (insert(const_iterator, const bool&)):
            Remove default argument.
            (insert(const_iterator)): New overload with deprecated attribute.
            * testsuite/23_containers/vector/bool/modifiers/insert/104559.cc:
            New test.

Reply via email to