diff options
Diffstat (limited to 'llvm/unittests/IR/MetadataTest.cpp')
-rw-r--r-- | llvm/unittests/IR/MetadataTest.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/llvm/unittests/IR/MetadataTest.cpp b/llvm/unittests/IR/MetadataTest.cpp index e886c77..b60bcac 100644 --- a/llvm/unittests/IR/MetadataTest.cpp +++ b/llvm/unittests/IR/MetadataTest.cpp @@ -1186,7 +1186,7 @@ typedef MetadataTest DIEnumeratorTest; TEST_F(DIEnumeratorTest, get) { auto *N = DIEnumerator::get(Context, 7, false, "name"); EXPECT_EQ(dwarf::DW_TAG_enumerator, N->getTag()); - EXPECT_EQ(7, N->getValue()); + EXPECT_EQ(7, N->getValue().getSExtValue()); EXPECT_FALSE(N->isUnsigned()); EXPECT_EQ("name", N->getName()); EXPECT_EQ(N, DIEnumerator::get(Context, 7, false, "name")); @@ -1199,6 +1199,15 @@ TEST_F(DIEnumeratorTest, get) { EXPECT_EQ(N, MDNode::replaceWithUniqued(std::move(Temp))); } +TEST_F(DIEnumeratorTest, getWithLargeValues) { + auto *N = DIEnumerator::get(Context, APInt::getMaxValue(128), false, "val"); + EXPECT_EQ(128U, N->getValue().countPopulation()); + EXPECT_EQ(N, + DIEnumerator::get(Context, APInt::getMaxValue(128), false, "val")); + EXPECT_NE(N, + DIEnumerator::get(Context, APInt::getMinValue(128), false, "val")); +} + typedef MetadataTest DIBasicTypeTest; TEST_F(DIBasicTypeTest, get) { |