[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