ArrayRef<Metadata *> DwarfOps,
StorageType Storage,
bool ShouldCreate) {
+ // Canonicalize empty string to a nullptr.
+ if (Header && Header->getString().empty())
+ Header = nullptr;
+
unsigned Hash = 0;
if (Storage == Uniqued) {
GenericDwarfNodeInfo::KeyTy Key(Tag, Header, DwarfOps);
EXPECT_EQ(N, GenericDwarfNode::get(Context, 15, Header, Ops1));
}
+TEST_F(GenericDwarfNodeTest, getEmptyHeader) {
+ // Canonicalize !"" to null.
+ auto *Header = MDString::get(Context, "");
+ EXPECT_NE(nullptr, Header);
+ auto *N = GenericDwarfNode::get(Context, 15, Header, None);
+ EXPECT_EQ(nullptr, N->getHeader());
+}
+
typedef MetadataTest MetadataAsValueTest;
TEST_F(MetadataAsValueTest, MDNode) {