https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115497
--- Comment #19 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:139d65d1f5a60ac90479653a4f9b63618509f3f9 commit r15-1550-g139d65d1f5a60ac90479653a4f9b63618509f3f9 Author: Jonathan Wakely <jwak...@redhat.com> Date: Wed Jun 19 11:19:58 2024 +0100 libstdc++: Don't use std::__is_scalar in std::valarray initialization [PR115497] This removes the use of the std::__is_scalar trait from <valarray>, where it can be replaced by __is_trivial. It's used to decide whether we can use memset to value-initialize valarray elements, but memset is suitable for any trivial types, because value-initializing them is equivalent to filling them with zeros. This is another step towards removing the class templates in <bits/cpp_type_traits.h> that conflict with Clang built-in names. libstdc++-v3/ChangeLog: PR libstdc++/115497 * include/bits/valarray_array.h (__valarray_default_construct): Use __is_trivial(_Tp). instead of __is_scalar<_Tp>.