gcc/libstdc++-v3/testsuite/23_containers
Jonathan Wakely 162c40a4c1 libstdc++: Fix regression in std::_Construct (PR 94831)
By trying to reuse the existing std::_Construct function as a wrapper
for std::construct_at I introduced regressions, because changing
std::_Construct to return non-void made it ill-formed for array types.

The solution is to revert _Construct to its former state, and change
allocator_traits::construct to explicitly call construct_at instead.
This decouples all the existing callers of _Construct from the new
construct_at requirements.

	PR libstdc++/94831
	* include/bits/alloc_traits.h (_S_construct): Restore placement
	new-expression for C++11/14/17 and call std::construct_at directly
	for C++20.
	* include/bits/stl_construct.h (_Construct): Revert to non-constexpr
	function returning void.
	* testsuite/20_util/specialized_algorithms/
	uninitialized_value_construct/94831.cc: New test.
	* testsuite/23_containers/vector/cons/94831.cc: New test.
2020-04-28 23:39:38 +01:00
..
array libstdc++: Change __cpp_lib_array_constexpr for C++17 again 2020-04-23 21:39:33 +01:00
bitset Update copyright years. 2020-01-01 12:51:42 +01:00
deque libstdc++: Improve tests for __cpp_lib_erase_if macro 2020-04-22 07:25:02 +01:00
forward_list libstdc++: Improve tests for __cpp_lib_erase_if macro 2020-04-22 07:25:02 +01:00
headers Update copyright years. 2020-01-01 12:51:42 +01:00
list libstdc++: Improve tests for __cpp_lib_erase_if macro 2020-04-22 07:25:02 +01:00
map libstdc++: Improve tests for __cpp_lib_erase_if macro 2020-04-22 07:25:02 +01:00
multimap libstdc++: Add comparison operators to associative containers 2020-04-20 17:50:10 +01:00
multiset libstdc++: Add comparison operators to associative containers 2020-04-20 17:50:10 +01:00
priority_queue Library-side tests for parenthesized aggregate init 2020-03-31 17:07:52 +03:00
queue libstdc++: Define operator<=> for std::stack and std::queue 2020-04-19 21:30:15 +01:00
set libstdc++: Improve tests for __cpp_lib_erase_if macro 2020-04-22 07:25:02 +01:00
span libstdc++: Fix std::span test failures with _GLIBCXX_ASSERTIONS 2020-02-27 15:13:16 +00:00
stack libstdc++: Define operator<=> for std::stack and std::queue 2020-04-19 21:30:15 +01:00
unordered_map libstdc++: Improve tests for __cpp_lib_erase_if macro 2020-04-22 07:25:02 +01:00
unordered_multimap Library-side tests for parenthesized aggregate init 2020-03-31 17:07:52 +03:00
unordered_multiset Library-side tests for parenthesized aggregate init 2020-03-31 17:07:52 +03:00
unordered_set libstdc++: Improve tests for __cpp_lib_erase_if macro 2020-04-22 07:25:02 +01:00
vector libstdc++: Fix regression in std::_Construct (PR 94831) 2020-04-28 23:39:38 +01:00