diff options
author | Jay Foad <jay.foad@amd.com> | 2025-07-08 09:23:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-08 09:23:30 +0100 |
commit | 37f87194ed060481ff0d361a74ae3b60b7b3667d (patch) | |
tree | 4a974f1771a23ca328cc60436c7b76c878d7bf98 /llvm/unittests/ADT/ArrayRefTest.cpp | |
parent | 18f7655178a69daa52f4d4ef56169b90efc7f601 (diff) | |
download | llvm-37f87194ed060481ff0d361a74ae3b60b7b3667d.zip llvm-37f87194ed060481ff0d361a74ae3b60b7b3667d.tar.gz llvm-37f87194ed060481ff0d361a74ae3b60b7b3667d.tar.bz2 |
[ADT] Implement ArrayRef::operator< and other comparisons (#147277)
Order ArrayRefs using std::lexicographical_compare, just like
std::vector and SmallVector.
Diffstat (limited to 'llvm/unittests/ADT/ArrayRefTest.cpp')
-rw-r--r-- | llvm/unittests/ADT/ArrayRefTest.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/unittests/ADT/ArrayRefTest.cpp b/llvm/unittests/ADT/ArrayRefTest.cpp index b5fc0a1..736c8fb 100644 --- a/llvm/unittests/ADT/ArrayRefTest.cpp +++ b/llvm/unittests/ADT/ArrayRefTest.cpp @@ -231,6 +231,27 @@ TEST(ArrayRefTest, EmptyEquals) { EXPECT_TRUE(ArrayRef<unsigned>() == ArrayRef<unsigned>()); } +TEST(ArrayRefTest, Compare) { + ArrayRef<char> Ban("Ban"); + ArrayRef<char> Banana("Banana"); + ArrayRef<char> Band("Band"); + + EXPECT_TRUE(Ban < Banana); + EXPECT_TRUE(Ban <= Banana); + EXPECT_FALSE(Ban > Banana); + EXPECT_FALSE(Ban >= Banana); + + EXPECT_FALSE(Banana < Banana); + EXPECT_TRUE(Banana <= Banana); + EXPECT_FALSE(Banana > Banana); + EXPECT_TRUE(Banana >= Banana); + + EXPECT_TRUE(Banana < Band); + EXPECT_TRUE(Banana <= Band); + EXPECT_FALSE(Banana > Band); + EXPECT_FALSE(Banana >= Band); +} + TEST(ArrayRefTest, ConstConvert) { int buf[4]; for (int i = 0; i < 4; ++i) |