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

--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tomasz Kaminski <tkami...@gcc.gnu.org>:

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

commit r16-2424-gf59cb28d53b62aa080da60617109440b303ceb2b
Author: Tomasz KamiÅski <tkami...@redhat.com>
Date:   Tue Jul 22 09:44:24 2025 +0200

    libstdc++: Make testsuite_iterators constexpr and expand inplace_vector
tests [PR119137]

    All functions in testsuite_iterators.h are now marked constexpr,
    targeting the earliest possible standard. Most functions use C++14 due
    to multi-statement bodies, with exceptions:

    * BoundsContainer and some constructors are C++11 compatible.
    * OutputContainer is C++20 due to operator new/delete usage.

    Before C++23, each constexpr templated function requires a constexpr
    -suitable instantiation. Functions delegating to _GLIBCXX14_CONSTEXPR
    must also be _GLIBCXX14_CONSTEXPR; e.g., forward_iterator_wrapper's
    constructor calling input_iterator_wrapper's constructor, or
    operator-> calling operator*.

    For classes defined C++20 or later (e.g., test_range), constexpr is
    applied unconditionally.

            PR libstdc++/119137

    libstdc++-v3/ChangeLog:

            * testsuite/23_containers/inplace_vector/cons/from_range.cc: Run
            iterators and range test at compile-time.
            * testsuite/23_containers/inplace_vector/modifiers/assign.cc:
            Likewise.
            * testsuite/23_containers/inplace_vector/modifiers/multi_insert.cc:
            Likewise.
            * testsuite/util/testsuite_iterators.h
(__gnu_test::BoundsContainer)
            (__gnu_test::OutputContainer, __gnu_test::WritableObject)
            (__gnu_test::output_iterator_wrapper,
__gnu_test::input_iterator_wrapper)
            (__gnu_test::forward_iterator_wrapper)
            (__gnu_test::bidirectional_iterator_wrapper)
            (__gnu_test::random_access_iterator_wrapper)
            (__gnu_test::test_container): Add appropriate _GLIBCXXNN_CONSTEXPR
            macros to member functions.
            (__gnu_test::contiguous_iterator_wrapper)
            (__gnu_test::input_iterator_wrapper_rval)
            (__gnu_test::test_range, __gnu_test::test_range_nocopy)
            (__gnu_test::test_sized_range_sized_sent)
            (__gnu_test::test_sized_range): Add constexpr specifier to member
            functions.

Reply via email to