summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/Support/AlignmentTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests/Support/AlignmentTest.cpp')
-rw-r--r--llvm/unittests/Support/AlignmentTest.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/unittests/Support/AlignmentTest.cpp b/llvm/unittests/Support/AlignmentTest.cpp
index f9cc27b8f42..0b1435912b9 100644
--- a/llvm/unittests/Support/AlignmentTest.cpp
+++ b/llvm/unittests/Support/AlignmentTest.cpp
@@ -227,6 +227,29 @@ TEST(AlignmentTest, AlignComparisons) {
}
}
+TEST(AlignmentTest, Max) {
+ // We introduce std::max here to test ADL.
+ using std::max;
+
+ // Uses llvm::max.
+ EXPECT_EQ(max(MaybeAlign(), Align(2)), Align(2));
+ EXPECT_EQ(max(Align(2), MaybeAlign()), Align(2));
+
+ EXPECT_EQ(max(MaybeAlign(1), Align(2)), Align(2));
+ EXPECT_EQ(max(Align(2), MaybeAlign(1)), Align(2));
+
+ EXPECT_EQ(max(MaybeAlign(2), Align(2)), Align(2));
+ EXPECT_EQ(max(Align(2), MaybeAlign(2)), Align(2));
+
+ EXPECT_EQ(max(MaybeAlign(4), Align(2)), Align(4));
+ EXPECT_EQ(max(Align(2), MaybeAlign(4)), Align(4));
+
+ // Uses std::max.
+ EXPECT_EQ(max(Align(2), Align(4)), Align(4));
+ EXPECT_EQ(max(MaybeAlign(2), MaybeAlign(4)), MaybeAlign(4));
+ EXPECT_EQ(max(MaybeAlign(), MaybeAlign()), MaybeAlign());
+}
+
TEST(AlignmentTest, AssumeAligned) {
EXPECT_EQ(assumeAligned(0), Align(1));
EXPECT_EQ(assumeAligned(0), Align());
OpenPOWER on IntegriCloud