libstdc++: Fix invalid instantiations in tests

These tests instantiate std::multiset and std::set with a type that has
no operator< so they should use a custom comparison function.

libstdc++-v3/ChangeLog:

	* testsuite/23_containers/multiset/operators/cmp_c++20.cc: Use
	custom comparison function for multiset.
	* testsuite/23_containers/set/operators/cmp_c++20.cc: Use custom
	comparison function for set.
This commit is contained in:
Jonathan Wakely 2022-02-02 17:04:58 +00:00
parent b229c51860
commit c123096cf1
2 changed files with 12 additions and 4 deletions

View File

@ -49,9 +49,13 @@ test01()
{
bool operator==(E) { return true; }
};
static_assert( ! std::totally_ordered<std::multiset<E>> );
struct Cmp
{
bool operator()(E, E) const { return false; }
};
static_assert( ! std::totally_ordered<std::multiset<E, Cmp>> );
static_assert( ! std::three_way_comparable<E> );
static_assert( ! std::three_way_comparable<std::multiset<E>> );
static_assert( ! std::three_way_comparable<std::multiset<E, Cmp>> );
}
void

View File

@ -49,9 +49,13 @@ test01()
{
bool operator==(E) { return true; }
};
static_assert( ! std::totally_ordered<std::set<E>> );
struct Cmp
{
bool operator()(E, E) const { return false; }
};
static_assert( ! std::totally_ordered<std::set<E, Cmp>> );
static_assert( ! std::three_way_comparable<E> );
static_assert( ! std::three_way_comparable<std::set<E>> );
static_assert( ! std::three_way_comparable<std::set<E, Cmp>> );
}
void