Skip to content

Commit 992cf9a

Browse files
authored
[lldb][Language] Make SourceLanguage::GetDescription for language version (#162050)
Depends on #162048 This makes sure we also include the version number in the description. For `C++17`, this would, e.g., now return `"C++17"` instead of `"ISO C++"`.
1 parent 67b789b commit 992cf9a

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

lldb/source/Target/Language.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,7 @@ lldb::LanguageType SourceLanguage::AsLanguageType() const {
582582

583583
llvm::StringRef SourceLanguage::GetDescription() const {
584584
return llvm::dwarf::LanguageDescription(
585-
static_cast<llvm::dwarf::SourceLanguageName>(name));
585+
static_cast<llvm::dwarf::SourceLanguageName>(name), version);
586586
}
587587
bool SourceLanguage::IsC() const { return name == llvm::dwarf::DW_LNAME_C; }
588588

lldb/unittests/Target/LanguageTest.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,12 @@ TEST_F(LanguageTest, SourceLanguage_GetDescription) {
3636
EXPECT_EQ(SourceLanguage(eLanguageTypeC_plus_plus).GetDescription(),
3737
"ISO C++");
3838
EXPECT_EQ(SourceLanguage(eLanguageTypeC_plus_plus_17).GetDescription(),
39-
"ISO C++");
39+
"C++17");
4040
EXPECT_EQ(SourceLanguage(eLanguageTypeC_plus_plus_20).GetDescription(),
41-
"ISO C++");
41+
"C++20");
42+
43+
EXPECT_EQ(SourceLanguage(eLanguageTypeC).GetDescription(), "C (K&R and ISO)");
44+
EXPECT_EQ(SourceLanguage(eLanguageTypeC89).GetDescription(), "C89");
4245

4346
EXPECT_EQ(SourceLanguage(eLanguageTypeObjC).GetDescription(), "Objective C");
4447
EXPECT_EQ(SourceLanguage(eLanguageTypeMipsAssembler).GetDescription(),

0 commit comments

Comments
 (0)