Skip to content

Commit 2770852

Browse files
committed
[lldb][Language] Make SourceLanguage::GetDescription for language version
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 d7181bd commit 2770852

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-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: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,14 @@ TEST_F(LanguageTest, SourceLanguage_GetDescription) {
3939
EXPECT_EQ(SourceLanguage(eLanguageTypeC_plus_plus).GetDescription(),
4040
"ISO C++");
4141
EXPECT_EQ(SourceLanguage(eLanguageTypeC_plus_plus_17).GetDescription(),
42-
"ISO C++");
42+
"C++17");
4343
EXPECT_EQ(SourceLanguage(eLanguageTypeC_plus_plus_20).GetDescription(),
44-
"ISO C++");
44+
"C++20");
45+
46+
EXPECT_EQ(SourceLanguage(eLanguageTypeC).GetDescription(),
47+
"C (K&R and ISO)");
48+
EXPECT_EQ(SourceLanguage(eLanguageTypeC89).GetDescription(),
49+
"C89");
4550

4651
EXPECT_EQ(SourceLanguage(eLanguageTypeObjC).GetDescription(), "Objective C");
4752
EXPECT_EQ(SourceLanguage(eLanguageTypeMipsAssembler).GetDescription(),

0 commit comments

Comments
 (0)