-
- Downloads
libstdc++: Do not cast away const-ness in std::construct_at (LWG 3870)
This change also requires implementing the proposed resolution of LWG 3216 so that std::make_shared and std::allocate_shared still work, and the proposed resolution of LWG 3891 so that std::expected still works. libstdc++-v3/ChangeLog: * include/bits/shared_ptr_base.h: Remove cv-qualifiers from type managed by _Sp_counted_ptr_inplace, as per LWG 3210. * include/bits/stl_construct.h: Do not cast away cv-qualifiers when passing pointer to placement new. * include/std/expected: Use remove_cv_t for union member, as per LWG 3891. * testsuite/20_util/allocator/void.cc: Do not test construction via const pointer.
Showing
- libstdc++-v3/include/bits/shared_ptr_base.h 8 additions, 7 deletionslibstdc++-v3/include/bits/shared_ptr_base.h
- libstdc++-v3/include/bits/stl_construct.h 3 additions, 3 deletionslibstdc++-v3/include/bits/stl_construct.h
- libstdc++-v3/include/std/expected 1 addition, 1 deletionlibstdc++-v3/include/std/expected
- libstdc++-v3/testsuite/20_util/allocator/void.cc 0 additions, 15 deletionslibstdc++-v3/testsuite/20_util/allocator/void.cc
Loading
Please register or sign in to comment