xref: /llvm-project/libcxx/test/std/containers/sequences/array/compare.three_way.verify.cpp (revision 254986d2df8d8407b46329e452c16748d29ed4cd)
1*254986d2SHristo Hristov //===----------------------------------------------------------------------===//
2*254986d2SHristo Hristov //
3*254986d2SHristo Hristov // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*254986d2SHristo Hristov // See https://llvm.org/LICENSE.txt for license information.
5*254986d2SHristo Hristov // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*254986d2SHristo Hristov //
7*254986d2SHristo Hristov //===----------------------------------------------------------------------===//
8*254986d2SHristo Hristov // UNSUPPORTED: c++03, c++11, c++14, c++17
9*254986d2SHristo Hristov 
10*254986d2SHristo Hristov // <array>
11*254986d2SHristo Hristov 
12*254986d2SHristo Hristov // template<class T, size_t N>
13*254986d2SHristo Hristov //   constexpr synth-three-way-result<T>
14*254986d2SHristo Hristov //     operator<=>(const array<T, N>& x, const array<T, N>& y);
15*254986d2SHristo Hristov 
16*254986d2SHristo Hristov // arrays with different sizes should not compare
17*254986d2SHristo Hristov 
18*254986d2SHristo Hristov #include <array>
19*254986d2SHristo Hristov 
main(int,char **)20*254986d2SHristo Hristov int main(int, char**) {
21*254986d2SHristo Hristov   {
22*254986d2SHristo Hristov     std::array a1{1};
23*254986d2SHristo Hristov     std::array a2{1, 2};
24*254986d2SHristo Hristov 
25*254986d2SHristo Hristov     // expected-error@*:* {{invalid operands to binary expression}}
26*254986d2SHristo Hristov     a1 <=> a2;
27*254986d2SHristo Hristov   }
28*254986d2SHristo Hristov   {
29*254986d2SHristo Hristov     std::array a1{1, 2};
30*254986d2SHristo Hristov     std::array a2{1};
31*254986d2SHristo Hristov 
32*254986d2SHristo Hristov     // expected-error@*:* {{invalid operands to binary expression}}
33*254986d2SHristo Hristov     a1 <=> a2;
34*254986d2SHristo Hristov   }
35*254986d2SHristo Hristov 
36*254986d2SHristo Hristov   return 0;
37*254986d2SHristo Hristov }
38