llvm-project/libcxx/test/std/containers/associative/set
Eric Fiselier 1286bc577f Fix undefined behavior in container swap tests.
These swap tests were swapping non-POCS non-equal allocators which
is undefined behavior. This patch changes the tests to use allocators
which compare equal. In order to test that the allocators were not
swapped I added an "id" field to test_allocator which does not
participate in equality but does propagate across copies/swaps.

This patch is based off of D26623 which was submitted by STL.

llvm-svn: 289358
2016-12-11 03:41:12 +00:00
..
set.cons [libcxx] [test] D27027: Strip trailing whitespace. 2016-11-23 22:03:28 +00:00
set.special Fix undefined behavior in container swap tests. 2016-12-11 03:41:12 +00:00
allocator_mismatch.fail.cpp Add static_assert to set/multiset/map/multimap/forward_list/deque that the allocator's value_type match the container's value_type. vector/unordered/list/string already do this. Add tests for all the containers to verify this. 2015-11-26 01:24:04 +00:00
clear.pass.cpp Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 2016-06-14 21:31:42 +00:00
count.pass.cpp Fix missing const on set::count. Patch from Andrey Khalyavin 2016-12-09 12:17:31 +00:00
emplace.pass.cpp Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 2016-06-14 21:31:42 +00:00
emplace_hint.pass.cpp Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 2016-06-14 21:31:42 +00:00
empty.pass.cpp Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 2016-06-14 21:31:42 +00:00
equal_range.pass.cpp [libcxx] [test] Replace _LIBCPP_STD_VER with TEST_STD_VER. 2016-11-04 20:26:59 +00:00
erase_iter.pass.cpp Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 2016-06-14 21:31:42 +00:00
erase_iter_iter.pass.cpp Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 2016-06-14 21:31:42 +00:00
erase_key.pass.cpp Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 2016-06-14 21:31:42 +00:00
find.pass.cpp [libcxx] [test] Replace _LIBCPP_STD_VER with TEST_STD_VER. 2016-11-04 20:26:59 +00:00
incomplete_type.pass.cpp Cleanup node-type handling in the associative containers. 2016-02-20 05:28:30 +00:00
insert_and_emplace_allocator_requirements.pass.cpp Extract key to avoid preemptive mallocs in insert/emplace in associative containers 2016-04-15 23:27:27 +00:00
insert_cv.pass.cpp Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 2016-06-14 21:31:42 +00:00
insert_initializer_list.pass.cpp [libcxx] [test] D27021: Fix MSVC warning C4389 "signed/unsigned mismatch", part 8/12. 2016-12-06 01:12:34 +00:00
insert_iter_cv.pass.cpp Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 2016-06-14 21:31:42 +00:00
insert_iter_iter.pass.cpp Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 2016-06-14 21:31:42 +00:00
insert_iter_rv.pass.cpp Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 2016-06-14 21:31:42 +00:00
insert_rv.pass.cpp Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 2016-06-14 21:31:42 +00:00
iterator.pass.cpp [libcxx] [test] D27021: Fix MSVC warning C4389 "signed/unsigned mismatch", part 8/12. 2016-12-06 01:12:34 +00:00
lower_bound.pass.cpp [libcxx] [test] Replace _LIBCPP_STD_VER with TEST_STD_VER. 2016-11-04 20:26:59 +00:00
max_size.pass.cpp [libcxx] Fix max_size() across all containers 2016-11-23 01:18:56 +00:00
size.pass.cpp Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 2016-06-14 21:31:42 +00:00
types.pass.cpp Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 2016-06-14 21:31:42 +00:00
upper_bound.pass.cpp [libcxx] [test] Replace _LIBCPP_STD_VER with TEST_STD_VER. 2016-11-04 20:26:59 +00:00