Skip to content

Commit f50c0b1

Browse files
committed
fixup! unittests
1 parent 478528e commit f50c0b1

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2276,4 +2276,46 @@ TEST(DWARFDebugInfo, TestDWARF64UnitLength) {
22762276
});
22772277
}
22782278

2279+
TEST(DWARFDebugInfo, TestLanguageDescription_Versioned) {
2280+
// Tests for the llvm::dwarf::LanguageDescription API that
2281+
// takes a name *and* a version.
2282+
2283+
// Unknown language.
2284+
EXPECT_EQ(
2285+
llvm::dwarf::LanguageDescription(static_cast<SourceLanguageName>(0)),
2286+
"Unknown");
2287+
2288+
// Test that specifying an invalid version falls back to a valid language name
2289+
// regardless.
2290+
EXPECT_EQ(llvm::dwarf::LanguageDescription(
2291+
static_cast<SourceLanguageName>(DW_LNAME_ObjC), 0),
2292+
"Objective C");
2293+
EXPECT_EQ(llvm::dwarf::LanguageDescription(
2294+
static_cast<SourceLanguageName>(DW_LNAME_Julia), 0),
2295+
"Julia");
2296+
2297+
// Check some versions.
2298+
EXPECT_EQ(llvm::dwarf::LanguageDescription(DW_LNAME_C_plus_plus, 199711),
2299+
"C++98");
2300+
EXPECT_EQ(llvm::dwarf::LanguageDescription(DW_LNAME_C_plus_plus, 201402),
2301+
"C++14");
2302+
2303+
// Versions round up.
2304+
EXPECT_EQ(llvm::dwarf::LanguageDescription(DW_LNAME_C_plus_plus, 201400),
2305+
"C++14");
2306+
2307+
// Version 0 for C and C++ is an unversioned name.
2308+
EXPECT_EQ(llvm::dwarf::LanguageDescription(
2309+
static_cast<SourceLanguageName>(DW_LNAME_C), 0),
2310+
"C (K&R and ISO)");
2311+
EXPECT_EQ(llvm::dwarf::LanguageDescription(
2312+
static_cast<SourceLanguageName>(DW_LNAME_C_plus_plus), 0),
2313+
"ISO C++");
2314+
2315+
// Version 0 for other versioned languages may not be the unversioned name.
2316+
EXPECT_EQ(llvm::dwarf::LanguageDescription(
2317+
static_cast<SourceLanguageName>(DW_LNAME_Fortran), 0),
2318+
"FORTRAN 77");
2319+
}
2320+
22792321
} // end anonymous namespace

0 commit comments

Comments
 (0)