Skip to content

Commit ff06184

Browse files
committed
[lldb][Language] Make SourceLanguage::GetDescription for language version (llvm#162050)
Depends on llvm#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++"`. (cherry picked from commit 992cf9a)
1 parent f1047f2 commit ff06184

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
@@ -583,7 +583,7 @@ lldb::LanguageType SourceLanguage::AsLanguageType() const {
583583

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

lldb/unittests/Target/Language.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)