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

--- Comment #3 from GCC 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:cfc9fa3bdddc1af59b7854937b99516067fd8c63

commit r15-1688-gcfc9fa3bdddc1af59b7854937b99516067fd8c63
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Tue Jun 18 20:57:13 2024 +0100

    libstdc++: Enable more debug assertions during constant evaluation
[PR111250]

    Some of our debug assertions expand to nothing unless
    _GLIBCXX_ASSERTIONS is defined, which means they are not checked during
    constant evaluation. By making them unconditionally expand to a
    __glibcxx_assert expression they will be checked during constant
    evaluation. This allows us to diagnose more instances of undefined
    behaviour at compile-time, such as accessing a vector past-the-end.

    libstdc++-v3/ChangeLog:

            PR libstdc++/111250
            * include/debug/assertions.h (__glibcxx_requires_non_empty_range)
            (__glibcxx_requires_nonempty, __glibcxx_requires_subscript):
            Define to __glibcxx_assert expressions or to debug mode
            __glibcxx_check_xxx expressions.
            * testsuite/23_containers/array/element_access/constexpr_c++17.cc:
            Add checks for out-of-bounds accesses in constant expressions.
            * testsuite/23_containers/vector/element_access/constexpr.cc:
            Likewise.

Reply via email to