Revert "[libc] Use best-fit binary trie to make malloc logarithmic" (#117065)
[llvm-project.git] / libcxx / test / std / containers / sequences / array / compare.verify.cpp
blob4b001601a4fe2c01d56d34961d721e15af39e8c5
1 //===----------------------------------------------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
9 // <array>
11 // template <class T, size_t N>
12 // bool operator==(const array<T,N>& x, const array<T,N>& y); // constexpr in C++20
13 // template <class T, size_t N>
14 // bool operator!=(const array<T,N>& x, const array<T,N>& y); // removed in C++20
15 // template <class T, size_t N>
16 // bool operator<(const array<T,N>& x, const array<T,N>& y); // removed in C++20
17 // template <class T, size_t N>
18 // bool operator>(const array<T,N>& x, const array<T,N>& y); // removed in C++20
19 // template <class T, size_t N>
20 // bool operator<=(const array<T,N>& x, const array<T,N>& y); // removed in C++20
21 // template <class T, size_t N>
22 // bool operator>=(const array<T,N>& x, const array<T,N>& y); // removed in C++20
24 #include <array>
26 #include "test_macros.h"
28 template <int>
29 struct NoCompare {};
31 int main(int, char**) {
33 typedef NoCompare<0> T;
34 typedef std::array<T, 3> C;
35 C c1 = {{}};
36 // expected-error@*:* 2 {{invalid operands to binary expression}}
37 TEST_IGNORE_NODISCARD(c1 == c1);
38 TEST_IGNORE_NODISCARD(c1 < c1);
41 typedef NoCompare<1> T;
42 typedef std::array<T, 3> C;
43 C c1 = {{}};
44 // expected-error@*:* 2 {{invalid operands to binary expression}}
45 TEST_IGNORE_NODISCARD(c1 != c1);
46 TEST_IGNORE_NODISCARD(c1 > c1);
49 typedef NoCompare<2> T;
50 typedef std::array<T, 0> C;
51 C c1 = {{}};
52 // expected-error@*:* 2 {{invalid operands to binary expression}}
53 TEST_IGNORE_NODISCARD(c1 == c1);
54 TEST_IGNORE_NODISCARD(c1 < c1);
57 return 0;