gcc/libstdc++-v3/testsuite
Jonathan Wakely 4484945c53
libstdc++: Fix std::unordered_set::emplace optimization [PR117686]
The __is_key_type specialization that matches a pair<key_type, T>
argument is intended for std::unordered_map, not for
std::unordered_set<std::pair<K,T>>.

This uses a pair<const Args&...> as the template argument for
__is_key_type, so that it won't match a set's key_type.

libstdc++-v3/ChangeLog:

	PR libstdc++/117686
	* include/bits/hashtable.h (_Hashtable::_M_emplace_uniq):
	Adjust usage of __is_key_type to avoid false positive.
	* testsuite/23_containers/unordered_set/insert/117686.cc:
	New test.
2024-11-20 06:44:43 +00:00
..
17_intro libstdc++: Do not define _Insert_base::try_emplace before C++17 2024-11-08 14:39:56 +00:00
18_support libstdc++: Deprecate useless <cxxx> compatibility headers for C++17 2024-11-06 12:47:19 +00:00
19_diagnostics libstdc++: Build libbacktrace and 19_diagnostics/stacktrace with -funwind-tables [PR111641] 2024-05-29 10:08:07 +02:00
20_util libstdc++: Refactor std::hash specializations 2024-11-13 20:21:41 +00:00
21_strings libstdc++: Disable parts of new test that depend on constexpr std::string 2024-10-25 10:23:56 +01:00
22_locale libstdc++: Make _GLIBCXX_NODISCARD work for C++11 and C++14 2024-11-14 17:00:40 +00:00
23_containers libstdc++: Fix std::unordered_set::emplace optimization [PR117686] 2024-11-20 06:44:43 +00:00
24_iterators libstdc++: Add missing constraint to operator+ for std::move_iterator 2024-11-14 15:39:03 +00:00
25_algorithms libstdc++: Make equal and is_permutation short-circuit (LWG 3560) 2024-11-14 20:01:25 +00:00
26_numerics libstdc++: Deprecate useless <cxxx> compatibility headers for C++17 2024-11-06 12:47:19 +00:00
27_io libstdc++: Make _GLIBCXX_NODISCARD work for C++11 and C++14 2024-11-14 17:00:40 +00:00
28_regex libstdc++: drop bogus 'dg_do run' directive 2024-07-31 17:22:42 +01:00
29_atomics libstdc++: Fix test FAIL due to -Wpointer-arith 2024-09-27 16:28:12 +01:00
30_threads libstdc++: Ignore _GLIBCXX_USE_POSIX_SEMAPHORE if not supported [PR116992] 2024-10-09 13:41:06 +01:00
abi libstdc++: Simplify <ext/aligned_buffer.h> class templates 2024-06-28 20:19:02 +01:00
backward Update copyright years. 2024-01-03 12:19:35 +01:00
config Update copyright years. 2024-01-03 12:19:35 +01:00
data
decimal [libstdc++] [testsuite] require dfprt on some tests 2024-07-12 05:42:19 -03:00
experimental [libstdc++] [testsuite] defer to check_vect_support* [PR115454] 2024-06-27 07:22:48 -03:00
ext libstdc++: Make _GLIBCXX_NODISCARD work for C++11 and C++14 2024-11-14 17:00:40 +00:00
lib testsuite: move dg-test cleanup code from gcc-dg.exp to its own file 2024-11-18 16:49:04 -05:00
libstdc++-abi Update copyright years. 2024-01-03 12:19:35 +01:00
libstdc++-dg Update copyright years. 2024-01-03 12:19:35 +01:00
libstdc++-prettyprinters libstdc++: Do not use std::vector<bool>::reference default ctor [PR115098] 2024-08-27 14:20:13 +01:00
libstdc++-xmethods Update copyright years. 2024-01-03 12:19:35 +01:00
performance libstdc++: Stop using std::unary_function in perf tests 2024-11-13 17:58:50 +00:00
special_functions Update copyright years. 2024-01-03 12:19:35 +01:00
std libstdc++: Implement LWG 3563 changes to keys_view and values_view 2024-11-14 13:27:41 -05:00
tr1 libstdc++: Add dg-error for new -Wdelete-incomplete diagnostics [PR115747] 2024-07-05 12:18:34 +01:00
tr2 libstdc++: Fix std::tr2::dynamic_bitset shift operations [PR115399] 2024-06-12 15:06:47 +01:00
util libstdc++: Fix calculation of system time in performance tests 2024-11-13 20:21:38 +00:00
Makefile.am Update copyright years. 2024-01-03 12:19:35 +01:00
Makefile.in