https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103022
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-11 branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>: https://gcc.gnu.org/g:0111975c07233512e63371b2bc99f88d9670bbc9 commit r11-9198-g0111975c07233512e63371b2bc99f88d9670bbc9 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)