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
