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

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

https://gcc.gnu.org/g:2374dfc907a9eb6ae2940c0d49de37bcf96bd5e5

commit r10-10246-g2374dfc907a9eb6ae2940c0d49de37bcf96bd5e5
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Mon Nov 1 11:06:51 2021 +0000

    libstdc++: Fix range access for empty std::valarray [PR103022]

    The std::begin and std::end overloads for std::valarray are defined in
    terms of std::addressof(v[0]) which is undefined for an empty valarray.

    libstdc++-v3/ChangeLog:

            PR libstdc++/103022
            * include/std/valarray (begin, end): Do not dereference an empty
            valarray. Add noexcept and [[nodiscard]].
            * testsuite/26_numerics/valarray/range_access.cc: Check empty
            valarray. Check iterator properties. Run as well as compiling.
            * testsuite/26_numerics/valarray/range_access2.cc: Likewise.
            * testsuite/26_numerics/valarray/103022.cc: New test.

    (cherry picked from commit 91bac9fed5d082f0b180834110ebc0f46f97599a)

Reply via email to