blob: cfecce69405a049ead8806e493e7fa6085b06e7d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
// PR c++/104392
// { dg-do compile { target c++20 } }
namespace std {
struct strong_ordering {
int _v;
constexpr strong_ordering (int v) :_v(v) {}
constexpr operator int (void) const { return _v; }
static const strong_ordering less;
static const strong_ordering equal;
static const strong_ordering greater;
};
constexpr strong_ordering strong_ordering::less = -1;
constexpr strong_ordering strong_ordering::equal = 0;
constexpr strong_ordering strong_ordering::greater = 1;
}
struct A {
unsigned int a:5;
};
constexpr std::strong_ordering
operator<=>(const A & left, const A & right)
{
return left.a <=> right.a;
}
|