Support: Add string => unsigned mapping for DW_TAG

Add `dwarf::getTag()` to translate from `StringRef` to `unsigned`.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228031 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan P. N. Exon Smith
2015-02-03 21:16:49 +00:00
parent b3d53c6065
commit 5ff000f15e
3 changed files with 28 additions and 0 deletions

View File

@ -26,4 +26,20 @@ TEST(DwarfTest, TagStringOnInvalid) {
EXPECT_EQ(nullptr, TagString(DW_TAG_user_base));
}
TEST(DwarfTest, getTag) {
// A couple of valid tags.
EXPECT_EQ(DW_TAG_array_type, getTag("DW_TAG_array_type"));
EXPECT_EQ(DW_TAG_module, getTag("DW_TAG_module"));
// Invalid tags.
EXPECT_EQ(DW_TAG_invalid, getTag("DW_TAG_invalid"));
EXPECT_EQ(DW_TAG_invalid, getTag("DW_TAG_madeuptag"));
EXPECT_EQ(DW_TAG_invalid, getTag("something else"));
// Tag range markers should not be recognized.
EXPECT_EQ(DW_TAG_invalid, getTag("DW_TAG_lo_user"));
EXPECT_EQ(DW_TAG_invalid, getTag("DW_TAG_hi_user"));
EXPECT_EQ(DW_TAG_invalid, getTag("DW_TAG_user_base"));
}
} // end namespace