aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Support/FileCheckTest.cpp
diff options
context:
space:
mode:
authorPaul Walker <paul.walker@arm.com>2020-06-01 10:09:58 +0000
committerPaul Walker <paul.walker@arm.com>2020-06-04 11:18:35 +0000
commited9df8621a85329d9cb607e982a6efb2d9c670f5 (patch)
tree91b8754ecfcff180e0cc00167d43ef3bf4aac50c /llvm/unittests/Support/FileCheckTest.cpp
parent6b9e1022436336b4ee7fa425f641f1cdcbd8f839 (diff)
downloadllvm-ed9df8621a85329d9cb607e982a6efb2d9c670f5.zip
llvm-ed9df8621a85329d9cb607e982a6efb2d9c670f5.tar.gz
llvm-ed9df8621a85329d9cb607e982a6efb2d9c670f5.tar.bz2
[FileCheck] Implement equality operators for ExpressionValue.
Subscribers: hiraditya, thopre, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81094
Diffstat (limited to 'llvm/unittests/Support/FileCheckTest.cpp')
-rw-r--r--llvm/unittests/Support/FileCheckTest.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/llvm/unittests/Support/FileCheckTest.cpp b/llvm/unittests/Support/FileCheckTest.cpp
index 54646a0..c549991 100644
--- a/llvm/unittests/Support/FileCheckTest.cpp
+++ b/llvm/unittests/Support/FileCheckTest.cpp
@@ -478,6 +478,46 @@ TEST_F(FileCheckTest, ExpressionValueSubtraction) {
expectOperationValueResult(operator-, 10, 11, -1);
}
+TEST_F(FileCheckTest, ExpressionValueEquality) {
+ // Test negative and positive value.
+ EXPECT_FALSE(ExpressionValue(5) == ExpressionValue(-3));
+ EXPECT_TRUE(ExpressionValue(5) != ExpressionValue(-3));
+ EXPECT_FALSE(ExpressionValue(-2) == ExpressionValue(6));
+ EXPECT_TRUE(ExpressionValue(-2) != ExpressionValue(6));
+ EXPECT_FALSE(ExpressionValue(-7) == ExpressionValue(7));
+ EXPECT_TRUE(ExpressionValue(-7) != ExpressionValue(7));
+ EXPECT_FALSE(ExpressionValue(4) == ExpressionValue(-4));
+ EXPECT_TRUE(ExpressionValue(4) != ExpressionValue(-4));
+ EXPECT_FALSE(ExpressionValue(MaxUint64) == ExpressionValue(-1));
+ EXPECT_TRUE(ExpressionValue(MaxUint64) != ExpressionValue(-1));
+
+ // Test both negative values.
+ EXPECT_FALSE(ExpressionValue(-2) == ExpressionValue(-7));
+ EXPECT_TRUE(ExpressionValue(-2) != ExpressionValue(-7));
+ EXPECT_TRUE(ExpressionValue(-3) == ExpressionValue(-3));
+ EXPECT_FALSE(ExpressionValue(-3) != ExpressionValue(-3));
+ EXPECT_FALSE(ExpressionValue(MinInt64) == ExpressionValue(-1));
+ EXPECT_TRUE(ExpressionValue(MinInt64) != ExpressionValue(-1));
+ EXPECT_FALSE(ExpressionValue(MinInt64) == ExpressionValue(-0));
+ EXPECT_TRUE(ExpressionValue(MinInt64) != ExpressionValue(-0));
+
+ // Test both positive values.
+ EXPECT_FALSE(ExpressionValue(8) == ExpressionValue(9));
+ EXPECT_TRUE(ExpressionValue(8) != ExpressionValue(9));
+ EXPECT_TRUE(ExpressionValue(1) == ExpressionValue(1));
+ EXPECT_FALSE(ExpressionValue(1) != ExpressionValue(1));
+
+ // Check the signedness of zero doesn't affect equality.
+ EXPECT_TRUE(ExpressionValue(0) == ExpressionValue(0));
+ EXPECT_FALSE(ExpressionValue(0) != ExpressionValue(0));
+ EXPECT_TRUE(ExpressionValue(0) == ExpressionValue(-0));
+ EXPECT_FALSE(ExpressionValue(0) != ExpressionValue(-0));
+ EXPECT_TRUE(ExpressionValue(-0) == ExpressionValue(0));
+ EXPECT_FALSE(ExpressionValue(-0) != ExpressionValue(0));
+ EXPECT_TRUE(ExpressionValue(-0) == ExpressionValue(-0));
+ EXPECT_FALSE(ExpressionValue(-0) != ExpressionValue(-0));
+}
+
TEST_F(FileCheckTest, Literal) {
SourceMgr SM;