gcc/libstdc++-v3/testsuite
Jason Merrill 57b4daf8dc c++: Refinements to "more constrained".
P2113 from the last C++ meeting clarified that we only compare constraints
on functions or function templates that have equivalent template parameters
and function parameters.

I'm not currently implementing the complicated handling of reversed
comparison operators here; thinking about it now, it seems like a lot of
complexity to support a very weird usage.  If I write two similar comparison
operators to be distinguished by their constraints, why would I write one
reversed?  If they're two unrelated operators, they're very unlikely to be
similar enough for the complexity to help.  I've started a discussion on the
committee reflector about changing these rules.

This change breaks some greedy_ops tests in libstdc++ that were relying on
comparing constraints on unrelated templates, which seems pretty clearly
wrong, so I'm removing those tests for now.

gcc/cp/ChangeLog:

	* call.c (joust): Only compare constraints for non-template
	candidates with matching parameters.
	* pt.c (tsubst_pack_expansion): Fix getting a type parameter
	pack.
	(more_specialized_fn): Only compare constraints for candidates with
	matching parameters.

gcc/testsuite/ChangeLog:

	* g++.dg/cpp2a/concepts-return-req1.C: Expect error.
	* g++.dg/cpp2a/concepts-p2113a.C: New test.
	* g++.dg/cpp2a/concepts-p2113b.C: New test.

libstdc++-v3/ChangeLog:

	* testsuite/24_iterators/move_iterator/rel_ops_c++20.cc:
	Remove greedy_ops tests.
	* testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc:
	Remove greedy_ops tests.
2020-06-20 10:57:21 -04:00
..
17_intro
18_support libstdc++: Add new testcase for comparison category types 2020-05-27 13:14:17 +01:00
19_diagnostics
20_util libstdc++: Avoid stack overflow in std::vector (PR 94540) 2020-06-17 22:49:06 +01:00
21_strings libstdc++: Update value of __cpp_lib_constexpr_char_traits for C++20 2020-06-15 14:31:26 +01:00
22_locale
23_containers libstdc++: Avoid stack overflow in std::vector (PR 94540) 2020-06-17 22:49:06 +01:00
24_iterators c++: Refinements to "more constrained". 2020-06-20 10:57:21 -04:00
25_algorithms libstdc++: Fix some ranges algos optimizations [PR95578] 2020-06-10 17:37:53 -04:00
26_numerics libstdc++: Use RDRAND as fallback if RDSEED keeps failing (PR 94087) 2020-05-19 23:04:45 +01:00
27_io libstdc++: Fix istream::ignore discarding too many chars (PR 94749) 2020-06-11 18:41:37 +01:00
28_regex
29_atomics libstdc++: Enforce copyable/movable checks in std::atomic 2020-06-16 22:34:55 +01:00
30_threads
abi
backward
config
data
decimal
experimental libstdc++: Fix net::basic_socket::close(error_code&) 2020-05-21 00:59:55 +01:00
ext
lib
libstdc++-abi
libstdc++-dg
libstdc++-prettyprinters
libstdc++-xmethods
performance
special_functions
std libstdc++: Fix view adaptors for mixed-const sentinels and iterators (PR 95322) 2020-05-27 22:08:15 +01:00
tr1
tr2
util libstdc++: Make std::copy_n work with negative and non-integral sizes 2020-06-04 14:21:34 +01:00
Makefile.am libstdc++: Enable simple invocation of runtest in testsuite 2020-05-21 14:16:19 +01:00
Makefile.in libstdc++: Enable simple invocation of runtest in testsuite 2020-05-21 14:16:19 +01:00