Hi sivachandra,

Fix StdVBoolImplementation to handle large vectors

The previous implementation only read out the first element of the underlying 
storage array. Because of it only the first 32 (on x86) or the first 64 (on 
x86_64) element was displayed.

http://reviews.llvm.org/D8585

Files:
  examples/synthetic/gnu_libstdcpp.py

Index: examples/synthetic/gnu_libstdcpp.py
===================================================================
--- examples/synthetic/gnu_libstdcpp.py
+++ examples/synthetic/gnu_libstdcpp.py
@@ -233,8 +233,9 @@
                                return None
                        byte_offset = index / 8
                        bit_offset = index % 8
-                       data = self.start_p.GetPointeeData()
-                       bit = data.GetUnsignedInt8(lldb.SBError(), byte_offset) 
& (1 << bit_offset)
+                       element_size = 
self.start_p.GetType().GetPointeeType().GetByteSize()
+                       data = self.start_p.GetPointeeData(byte_offset / 
element_size)
+                       bit = data.GetUnsignedInt8(lldb.SBError(), byte_offset 
% element_size) & (1 << bit_offset)
                        if bit != 0:
                                value_expr = "(bool)true"
                        else:

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
Index: examples/synthetic/gnu_libstdcpp.py
===================================================================
--- examples/synthetic/gnu_libstdcpp.py
+++ examples/synthetic/gnu_libstdcpp.py
@@ -233,8 +233,9 @@
 				return None
 			byte_offset = index / 8
 			bit_offset = index % 8
-			data = self.start_p.GetPointeeData()
-			bit = data.GetUnsignedInt8(lldb.SBError(), byte_offset) & (1 << bit_offset)
+			element_size = self.start_p.GetType().GetPointeeType().GetByteSize()
+			data = self.start_p.GetPointeeData(byte_offset / element_size)
+			bit = data.GetUnsignedInt8(lldb.SBError(), byte_offset % element_size) & (1 << bit_offset)
 			if bit != 0:
 				value_expr = "(bool)true"
 			else:
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

Reply via email to