Skip to content

Commit c437b65

Browse files
authored
Merge pull request #7662 from augusto2112/xi-tests
[NFC] Adapt unit tests to new num_extra_inhabitants field
2 parents a293b1e + f168c3f commit c437b65

File tree

2 files changed

+37
-31
lines changed

2 files changed

+37
-31
lines changed

llvm/unittests/IR/DebugTypeODRUniquingTest.cpp

+18-17
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ TEST(DebugTypeODRUniquingTest, getODRType) {
3030
// Without a type map, this should return null.
3131
EXPECT_FALSE(DICompositeType::getODRType(
3232
Context, UUID, dwarf::DW_TAG_class_type, nullptr, nullptr, 0, nullptr,
33-
nullptr, 0, 0, 0, DINode::FlagZero, nullptr, 0, nullptr, nullptr, nullptr,
33+
nullptr, 0, 0, 0, 0, DINode::FlagZero, nullptr, 0, nullptr, nullptr, nullptr,
3434
nullptr, nullptr, nullptr, nullptr, nullptr));
3535

3636
// Enable the mapping. There still shouldn't be a type.
@@ -40,7 +40,7 @@ TEST(DebugTypeODRUniquingTest, getODRType) {
4040
// Create some ODR-uniqued type.
4141
auto &CT = *DICompositeType::getODRType(
4242
Context, UUID, dwarf::DW_TAG_class_type, nullptr, nullptr, 0, nullptr,
43-
nullptr, 0, 0, 0, DINode::FlagZero, nullptr, 0, nullptr, nullptr, nullptr,
43+
nullptr, 0, 0, 0, 0, DINode::FlagZero, nullptr, 0, nullptr, nullptr, nullptr,
4444
nullptr, nullptr, nullptr, nullptr, nullptr);
4545
EXPECT_EQ(UUID.getString(), CT.getIdentifier());
4646

@@ -49,13 +49,13 @@ TEST(DebugTypeODRUniquingTest, getODRType) {
4949
EXPECT_EQ(&CT,
5050
DICompositeType::getODRType(
5151
Context, UUID, dwarf::DW_TAG_class_type, nullptr, nullptr, 0,
52-
nullptr, nullptr, 0, 0, 0, DINode::FlagZero, nullptr, 0,
52+
nullptr, nullptr, 0, 0, 0, 0, DINode::FlagZero, nullptr, 0,
5353
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
5454
nullptr));
5555
EXPECT_EQ(&CT, DICompositeType::getODRType(
5656
Context, UUID, dwarf::DW_TAG_class_type,
5757
MDString::get(Context, "name"), nullptr, 0, nullptr,
58-
nullptr, 0, 0, 0, DINode::FlagZero, nullptr, 0, nullptr,
58+
nullptr, 0, 0, 0, 0, DINode::FlagZero, nullptr, 0, nullptr,
5959
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
6060
nullptr));
6161

@@ -76,41 +76,41 @@ TEST(DebugTypeODRUniquingTest, buildODRType) {
7676
MDString &UUID = *MDString::get(Context, "Type");
7777
auto &CT = *DICompositeType::buildODRType(
7878
Context, UUID, dwarf::DW_TAG_class_type, nullptr, nullptr, 0, nullptr,
79-
nullptr, 0, 0, 0, DINode::FlagFwdDecl, nullptr, 0, nullptr, nullptr,
79+
nullptr, 0, 0, 0, 0, DINode::FlagFwdDecl, nullptr, 0, nullptr, nullptr,
8080
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr);
8181
EXPECT_EQ(&CT, DICompositeType::getODRTypeIfExists(Context, UUID));
8282
EXPECT_EQ(dwarf::DW_TAG_class_type, CT.getTag());
8383

8484
// Update with another forward decl. This should be a no-op.
8585
EXPECT_EQ(&CT, DICompositeType::buildODRType(
8686
Context, UUID, dwarf::DW_TAG_class_type, nullptr, nullptr,
87-
0, nullptr, nullptr, 0, 0, 0, DINode::FlagFwdDecl, nullptr,
87+
0, nullptr, nullptr, 0, 0, 0, 0, DINode::FlagFwdDecl, nullptr,
8888
0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
8989
nullptr, nullptr));
9090

9191
EXPECT_FALSE(DICompositeType::buildODRType(
9292
Context, UUID, dwarf::DW_TAG_structure_type, nullptr, nullptr, 0, nullptr,
93-
nullptr, 0, 0, 0, DINode::FlagFwdDecl, nullptr, 0, nullptr, nullptr,
93+
nullptr, 0, 0, 0, 0, DINode::FlagFwdDecl, nullptr, 0, nullptr, nullptr,
9494
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr));
9595

9696
// Update with a definition. This time we should see a change.
9797
EXPECT_EQ(&CT, DICompositeType::buildODRType(
9898
Context, UUID, dwarf::DW_TAG_class_type, nullptr, nullptr,
99-
0, nullptr, nullptr, 0, 0, 0, DINode::FlagZero, nullptr, 0,
99+
0, nullptr, nullptr, 0, 0, 0, 0, DINode::FlagZero, nullptr, 0,
100100
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
101101
nullptr, nullptr));
102102
EXPECT_FALSE(CT.isForwardDecl());
103103

104104
// Further updates should be ignored.
105105
EXPECT_EQ(&CT, DICompositeType::buildODRType(
106106
Context, UUID, dwarf::DW_TAG_class_type, nullptr, nullptr,
107-
0, nullptr, nullptr, 0, 0, 0, DINode::FlagFwdDecl, nullptr,
107+
0, nullptr, nullptr, 0, 0, 0, 0, DINode::FlagFwdDecl, nullptr,
108108
0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
109109
nullptr, nullptr));
110110
EXPECT_FALSE(CT.isForwardDecl());
111111
EXPECT_EQ(&CT, DICompositeType::buildODRType(
112112
Context, UUID, dwarf::DW_TAG_class_type, nullptr, nullptr,
113-
111u, nullptr, nullptr, 0, 0, 0, DINode::FlagZero, nullptr,
113+
111u, nullptr, nullptr, 0, 0, 0, 0, DINode::FlagZero, nullptr,
114114
0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
115115
nullptr, nullptr));
116116
EXPECT_NE(111u, CT.getLine());
@@ -123,7 +123,7 @@ TEST(DebugTypeODRUniquingTest, buildODRTypeFields) {
123123
// Build an ODR type that's a forward decl with no other fields set.
124124
MDString &UUID = *MDString::get(Context, "UUID");
125125
auto &CT = *DICompositeType::buildODRType(
126-
Context, UUID, 0, nullptr, nullptr, 0, nullptr, nullptr, 0, 0, 0,
126+
Context, UUID, 0, nullptr, nullptr, 0, nullptr, nullptr, 0, 0, 0, 0,
127127
DINode::FlagFwdDecl, nullptr, 0, nullptr, nullptr, nullptr, nullptr,
128128
nullptr, nullptr, nullptr, nullptr);
129129

@@ -141,6 +141,7 @@ TEST(DebugTypeODRUniquingTest, buildODRTypeFields) {
141141
DO_FOR_FIELD(SizeInBits) \
142142
DO_FOR_FIELD(AlignInBits) \
143143
DO_FOR_FIELD(OffsetInBits) \
144+
DO_FOR_FIELD(NumExtraInhabitants) \
144145
DO_FOR_FIELD(RuntimeLang)
145146

146147
// Create all the fields.
@@ -153,12 +154,12 @@ TEST(DebugTypeODRUniquingTest, buildODRTypeFields) {
153154
#undef DO_FOR_FIELD
154155

155156
// Replace all the fields with new values that are distinct from each other.
156-
EXPECT_EQ(&CT,
157-
DICompositeType::buildODRType(
158-
Context, UUID, 0, Name, File, Line, Scope, BaseType, SizeInBits,
159-
AlignInBits, OffsetInBits, DINode::FlagArtificial, Elements,
160-
RuntimeLang, VTableHolder, TemplateParams, nullptr, nullptr,
161-
nullptr, nullptr, nullptr, nullptr));
157+
EXPECT_EQ(&CT, DICompositeType::buildODRType(
158+
Context, UUID, 0, Name, File, Line, Scope, BaseType,
159+
SizeInBits, AlignInBits, OffsetInBits, NumExtraInhabitants,
160+
DINode::FlagArtificial, Elements, RuntimeLang,
161+
VTableHolder, TemplateParams, nullptr, nullptr, nullptr,
162+
nullptr, nullptr, nullptr));
162163

163164
// Confirm that all the right fields got updated.
164165
#define DO_FOR_FIELD(X) EXPECT_EQ(X, CT.getRaw##X());

llvm/unittests/IR/MetadataTest.cpp

+19-14
Original file line numberDiff line numberDiff line change
@@ -1773,44 +1773,49 @@ TEST_F(DIEnumeratorTest, getWithLargeValues) {
17731773
typedef MetadataTest DIBasicTypeTest;
17741774

17751775
TEST_F(DIBasicTypeTest, get) {
1776-
auto *N =
1777-
DIBasicType::get(Context, dwarf::DW_TAG_base_type, "special", 33, 26, 7,
1778-
DINode::FlagZero);
1776+
auto *N = DIBasicType::get(Context, dwarf::DW_TAG_base_type, "special", 33,
1777+
26, 7, 100, DINode::FlagZero);
17791778
EXPECT_EQ(dwarf::DW_TAG_base_type, N->getTag());
17801779
EXPECT_EQ("special", N->getName());
17811780
EXPECT_EQ(33u, N->getSizeInBits());
17821781
EXPECT_EQ(26u, N->getAlignInBits());
17831782
EXPECT_EQ(7u, N->getEncoding());
17841783
EXPECT_EQ(0u, N->getLine());
1784+
EXPECT_EQ(100u, N->getNumExtraInhabitants());
17851785
EXPECT_EQ(DINode::FlagZero, N->getFlags());
17861786
EXPECT_EQ(N, DIBasicType::get(Context, dwarf::DW_TAG_base_type, "special", 33,
1787-
26, 7, DINode::FlagZero));
1787+
26, 7, 100, DINode::FlagZero));
17881788

17891789
EXPECT_NE(N, DIBasicType::get(Context, dwarf::DW_TAG_unspecified_type,
1790-
"special", 33, 26, 7, DINode::FlagZero));
1790+
"special", 33, 26, 7,100, DINode::FlagZero));
17911791
EXPECT_NE(N,
1792-
DIBasicType::get(Context, dwarf::DW_TAG_base_type, "s", 33, 26, 7,
1792+
DIBasicType::get(Context, dwarf::DW_TAG_base_type, "s", 33, 26, 7, 100,
17931793
DINode::FlagZero));
17941794
EXPECT_NE(N, DIBasicType::get(Context, dwarf::DW_TAG_base_type, "special", 32,
1795-
26, 7, DINode::FlagZero));
1795+
26, 7, 100, DINode::FlagZero));
1796+
EXPECT_NE(N, DIBasicType::get(Context, dwarf::DW_TAG_base_type, "special", 33,
1797+
25, 7, 100, DINode::FlagZero));
1798+
17961799
EXPECT_NE(N, DIBasicType::get(Context, dwarf::DW_TAG_base_type, "special", 33,
1797-
25, 7, DINode::FlagZero));
1800+
26, 7, 99, DINode::FlagZero));
17981801
EXPECT_NE(N, DIBasicType::get(Context, dwarf::DW_TAG_base_type, "special", 33,
1799-
26, 6, DINode::FlagZero));
1802+
26, 6, 100, DINode::FlagZero));
18001803
EXPECT_NE(N, DIBasicType::get(Context, dwarf::DW_TAG_base_type, "special", 33,
1801-
26, 7, DINode::FlagBigEndian));
1804+
26, 7, 100, DINode::FlagBigEndian));
18021805
EXPECT_NE(N, DIBasicType::get(Context, dwarf::DW_TAG_base_type, "special", 33,
1803-
26, 7, DINode::FlagLittleEndian));
1806+
26, 7, 100, DINode::FlagLittleEndian));
18041807

18051808
TempDIBasicType Temp = N->clone();
18061809
EXPECT_EQ(N, MDNode::replaceWithUniqued(std::move(Temp)));
18071810
}
18081811

18091812
TEST_F(DIBasicTypeTest, getWithLargeValues) {
1810-
auto *N = DIBasicType::get(Context, dwarf::DW_TAG_base_type, "special",
1811-
UINT64_MAX, UINT32_MAX - 1, 7, DINode::FlagZero);
1813+
auto *N =
1814+
DIBasicType::get(Context, dwarf::DW_TAG_base_type, "special", UINT64_MAX,
1815+
UINT32_MAX - 1, 7, UINT32_MAX, DINode::FlagZero);
18121816
EXPECT_EQ(UINT64_MAX, N->getSizeInBits());
18131817
EXPECT_EQ(UINT32_MAX - 1, N->getAlignInBits());
1818+
EXPECT_EQ(UINT32_MAX, N->getNumExtraInhabitants());
18141819
}
18151820

18161821
TEST_F(DIBasicTypeTest, getUnspecified) {
@@ -1830,7 +1835,7 @@ typedef MetadataTest DITypeTest;
18301835
TEST_F(DITypeTest, clone) {
18311836
// Check that DIType has a specialized clone that returns TempDIType.
18321837
DIType *N = DIBasicType::get(Context, dwarf::DW_TAG_base_type, "int", 32, 32,
1833-
dwarf::DW_ATE_signed, DINode::FlagZero);
1838+
0, dwarf::DW_ATE_signed, DINode::FlagZero);
18341839

18351840
TempDIType Temp = N->clone();
18361841
EXPECT_EQ(N, MDNode::replaceWithUniqued(std::move(Temp)));

0 commit comments

Comments
 (0)