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(),


        
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to