[Lldb-commits] [lldb] 992cf9a - [lldb][Language] Make SourceLanguage::GetDescription for language version (#162050)
via lldb-commits
lldb-commits at lists.llvm.org
Wed Oct 8 16:16:07 PDT 2025
Author: Michael Buch
Date: 2025-10-09T00:16:03+01:00
New Revision: 992cf9a31e6a182095f260aee0c4687c8e4b7e2b
URL: https://github.com/llvm/llvm-project/commit/992cf9a31e6a182095f260aee0c4687c8e4b7e2b
DIFF: https://github.com/llvm/llvm-project/commit/992cf9a31e6a182095f260aee0c4687c8e4b7e2b.diff
LOG: [lldb][Language] Make SourceLanguage::GetDescription for language version (#162050)
Depends on https://github.com/llvm/llvm-project/pull/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++"`.
Added:
Modified:
lldb/source/Target/Language.cpp
lldb/unittests/Target/LanguageTest.cpp
Removed:
################################################################################
diff --git a/lldb/source/Target/Language.cpp b/lldb/source/Target/Language.cpp
index 2efd4bc1e2c09..8268d4ae4bb27 100644
--- a/lldb/source/Target/Language.cpp
+++ b/lldb/source/Target/Language.cpp
@@ -582,7 +582,7 @@ lldb::LanguageType SourceLanguage::AsLanguageType() const {
llvm::StringRef SourceLanguage::GetDescription() const {
return llvm::dwarf::LanguageDescription(
- static_cast<llvm::dwarf::SourceLanguageName>(name));
+ static_cast<llvm::dwarf::SourceLanguageName>(name), version);
}
bool SourceLanguage::IsC() const { return name == llvm::dwarf::DW_LNAME_C; }
diff --git a/lldb/unittests/Target/LanguageTest.cpp b/lldb/unittests/Target/LanguageTest.cpp
index a1f9267dd45d0..720863bda68e4 100644
--- a/lldb/unittests/Target/LanguageTest.cpp
+++ b/lldb/unittests/Target/LanguageTest.cpp
@@ -36,9 +36,12 @@ TEST_F(LanguageTest, SourceLanguage_GetDescription) {
EXPECT_EQ(SourceLanguage(eLanguageTypeC_plus_plus).GetDescription(),
"ISO C++");
EXPECT_EQ(SourceLanguage(eLanguageTypeC_plus_plus_17).GetDescription(),
- "ISO C++");
+ "C++17");
EXPECT_EQ(SourceLanguage(eLanguageTypeC_plus_plus_20).GetDescription(),
- "ISO C++");
+ "C++20");
+
+ EXPECT_EQ(SourceLanguage(eLanguageTypeC).GetDescription(), "C (K&R and ISO)");
+ EXPECT_EQ(SourceLanguage(eLanguageTypeC89).GetDescription(), "C89");
EXPECT_EQ(SourceLanguage(eLanguageTypeObjC).GetDescription(), "Objective C");
EXPECT_EQ(SourceLanguage(eLanguageTypeMipsAssembler).GetDescription(),
More information about the lldb-commits
mailing list