gcc/libstdc++-v3/testsuite/23_containers
François Dumont 8b7af071b0 libstdc++: Implement DR 526 on [forward_]list remove_if/unique [PR 91620]
Respect DR 526 in implementation of std::[forward_]list remove/remove_if/unique.
[forward_]list::remove was already implementing it but the implementation has
been modified to generalize the following pattern. All nodes to remove are
collected in an intermediate [forward_]list which purpose is just to be
detroyed once out of scope.

libstdc++-v3/ChangeLog:

	PR libstdc++/91620
	* include/bits/forward_list.tcc (forward_list<>::remove): Collect nodes
	to destroy in an intermediate forward_list.
	(forward_list<>::remove_if, forward_list<>::unique): Likewise.
	* include/bits/list.tcc (list<>::remove, list<>::unique): Likewise.
	(list<>::remove_if): Likewise.
	* include/debug/forward_list (forward_list<>::_M_erase_after): Remove.
	(forward_list<>::erase_after): Adapt.
	(forward_list<>::remove, forward_list<>::remove_if): Collect nodes to
	destroy in an intermediate forward_list.
	(forward_list<>::unique): Likewise.
	* include/debug/list (list<>::remove, list<>::unique): Likewise.
	(list<>::remove_if): Likewise.
	* testsuite/23_containers/forward_list/operations/91620.cc: New test.
	* testsuite/23_containers/list/operations/91620.cc: New test.
2020-08-11 21:30:05 +02:00
..
array libstdc++: Ensure c++NN effective target present in all C++17 tests 2020-07-31 19:58:02 +01:00
bitset libstdc++: Fix ambiguous comparisons in __gnu_debug::bitset [PR 96303] 2020-08-07 20:29:11 +01:00
deque libstdc++: Make debug containers prefer copy ctor to base ctor (PR 90102) 2020-06-02 18:13:33 +01:00
forward_list libstdc++: Implement DR 526 on [forward_]list remove_if/unique [PR 91620] 2020-08-11 21:30:05 +02:00
headers libstdc++: Require c++98_only effective target for some tests 2020-07-02 21:27:12 +01:00
list libstdc++: Implement DR 526 on [forward_]list remove_if/unique [PR 91620] 2020-08-11 21:30:05 +02:00
map libstdc++: Ensure c++NN effective target present in all C++17 tests 2020-07-31 19:58:02 +01:00
multimap libstdc++: Ensure c++NN effective target present in all C++17 tests 2020-07-31 19:58:02 +01:00
multiset libstdc++: Ensure c++NN effective target present in all C++17 tests 2020-07-31 19:58:02 +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++: Ensure c++NN effective target present in all C++17 tests 2020-07-31 19:58:02 +01:00
span libstdc++: Add dg-require-effective-target to std::span assert tests 2020-07-31 19:58:02 +01:00
stack libstdc++: Define operator<=> for std::stack and std::queue 2020-04-19 21:30:15 +01:00
unordered_map libstdc++: Ensure c++NN effective target present in all C++17 tests 2020-07-31 19:58:02 +01:00
unordered_multimap libstdc++: Ensure c++NN effective target present in all C++17 tests 2020-07-31 19:58:02 +01:00
unordered_multiset libstdc++: Ensure c++NN effective target present in all C++17 tests 2020-07-31 19:58:02 +01:00
unordered_set libstdc++: Ensure c++NN effective target present in all C++17 tests 2020-07-31 19:58:02 +01:00
vector libstdc++: Fix and improve std::vector<bool> implementation. 2020-07-31 23:18:51 +02:00