[llvm] [llvm][utils] Fix SmallString summary provider (PR #78527)

Dave Lee via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 17 16:55:25 PST 2024


https://github.com/kastiglione created https://github.com/llvm/llvm-project/pull/78527

None

>From b39fc21df37cfebf51d481e2551067ced8b4cfe5 Mon Sep 17 00:00:00 2001
From: Dave Lee <davelee.com at gmail.com>
Date: Wed, 17 Jan 2024 16:51:23 -0800
Subject: [PATCH] [llvm][utils] Fix SmallString summary provider

---
 llvm/utils/lldbDataFormatters.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/llvm/utils/lldbDataFormatters.py b/llvm/utils/lldbDataFormatters.py
index 0b61db60e80c7f..de101abdabc8ec 100644
--- a/llvm/utils/lldbDataFormatters.py
+++ b/llvm/utils/lldbDataFormatters.py
@@ -218,12 +218,14 @@ def get_child_at_index(self, index):
 
 
 def SmallStringSummaryProvider(valobj, internal_dict):
-    num_elements = valobj.GetNumChildren()
+    # The underlying SmallVector base class is the first child.
+    vector = valobj.GetChildAtIndex(0)
+    num_elements = vector.GetNumChildren()
     res = '"'
-    for i in range(0, num_elements):
-        c = valobj.GetChildAtIndex(i).GetValue()
+    for i in range(num_elements):
+        c = vector.GetChildAtIndex(i)
         if c:
-            res += c.strip("'")
+            res += chr(c.GetValueAsUnsigned())
     res += '"'
     return res
 



More information about the llvm-commits mailing list