Skip to content

Commit 2aee2b1

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 030d8e6 commit 2aee2b1

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
@@ -36,9 +36,14 @@ 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(),
44+
"C (K&R and ISO)");
45+
EXPECT_EQ(SourceLanguage(eLanguageTypeC89).GetDescription(),
46+
"C89");
4247

4348
EXPECT_EQ(SourceLanguage(eLanguageTypeObjC).GetDescription(), "Objective C");
4449
EXPECT_EQ(SourceLanguage(eLanguageTypeMipsAssembler).GetDescription(),

0 commit comments

Comments
 (0)