[Bug libstdc++/100475] semiregular-box's constructor uses wrong list-initialization
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue May 18 04:35:26 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100475
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Patrick Palka <ppalka@gcc.gnu.org>:
https://gcc.gnu.org/g:fe993b469c528230d9a01e1ae2208610f960dd9f
commit r12-856-gfe993b469c528230d9a01e1ae2208610f960dd9f
Author: Patrick Palka <ppalka@redhat.com>
Date: Tue May 18 00:28:44 2021 -0400
libstdc++: Fix up semiregular-box partial specialization [PR100475]
This makes the in-place constructor of our partial specialization of
__box for already-semiregular types perform direct-non-list-initialization
(in accordance with the specification of the primary template), and
additionally makes the member function data() use std::__addressof.
libstdc++-v3/ChangeLog:
PR libstdc++/100475
* include/std/ranges (__box::__box): Use non-list-initialization
in member initializer list of in-place constructor of the
partial specialization for semiregular types.
(__box::operator->): Use std::__addressof.
* testsuite/std/ranges/adaptors/detail/semiregular_box.cc
(test02): New test.
* testsuite/std/ranges/single_view.cc (test04): New test.
More information about the Gcc-bugs
mailing list