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 libstdc++: Add more tests for _E10, _E11 etc. (PR 94901) 2020-05-01 14:49:48 +01:00
18_support libstdc++: Add new testcase for comparison category types 2020-05-27 13:14:17 +01:00
19_diagnostics libstdc++: Define operator<=> for <system_error> types 2020-02-20 12:27:48 +00:00
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 libstdc++: Add comparison operators for string and regex types 2020-04-17 16:40:11 +01:00
29_atomics libstdc++: Enforce copyable/movable checks in std::atomic 2020-06-16 22:34:55 +01:00
30_threads libstdc++: Update value of __cpp_lib_jthread macro 2020-04-22 22:54:34 +01:00
abi
backward
config
data
decimal
experimental libstdc++: Fix net::basic_socket::close(error_code&) 2020-05-21 00:59:55 +01:00
ext libstdc++: Avoid errors in allocator's noexcept-specifier (PR 89510) 2020-04-30 16:01:43 +01:00
lib libstdc++: Fix PSTL tests to run correctly with newer Thread Building Blocks 2020-04-21 01:05:13 -07:00
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 libstdc++: Fix test failure due to -Wnonnull warnings 2020-03-12 11:03:04 +00:00
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