From f81d6fe75ca17bd3a5153a0d7bae853b977c5ea2 Mon Sep 17 00:00:00 2001 From: Adrian Prantl Date: Wed, 7 Aug 2019 22:40:05 +0000 Subject: Adjust a ValueObjectChild's offset when the child is a bitfield If a bitfield doesn't fit into the child_byte_size'd window at child_byte_offset, move the window forward until it fits. The problem here is that Value has no notion of bitfields and thus the Value's DataExtractor is sized like the bitfields CompilerType; a sequence of bitfields, however, can be larger than their underlying type. This was not in the big-endian-derived DWARF 2 bitfield attributes because their offsets were counted from the end of the window, so they always fit. rdar://problem/53132189 Differential Revision: https://reviews.llvm.org/D65492 llvm-svn: 368226 --- lldb/packages/Python/lldbsuite/test/lang/c/bitfields/TestBitfields.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lldb/packages/Python/lldbsuite/test/lang/c/bitfields/TestBitfields.py') diff --git a/lldb/packages/Python/lldbsuite/test/lang/c/bitfields/TestBitfields.py b/lldb/packages/Python/lldbsuite/test/lang/c/bitfields/TestBitfields.py index c1a32f2ee09..d5580ac86cc 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/c/bitfields/TestBitfields.py +++ b/lldb/packages/Python/lldbsuite/test/lang/c/bitfields/TestBitfields.py @@ -146,6 +146,9 @@ class BitfieldsTestCase(TestBase): '(uint8_t:1) b17 = \'\\0\'', ]) + self.expect("v/x large_packed", VARIABLES_DISPLAYED_CORRECTLY, + substrs=["a = 0x0000000cbbbbaaaa", "b = 0x0000000dffffeee"]) + @add_test_categories(['pyapi']) # BitFields exhibit crashes in record layout on Windows -- cgit v1.2.3