summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/lang/c/bitfields/main.c
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2016-04-22 23:14:35 +0000
committerGreg Clayton <gclayton@apple.com>2016-04-22 23:14:35 +0000
commitcae0855a62d2dc09fddc581f7a52d10c43b17571 (patch)
treea81b57f09ec7b70aafcbab97bfbbd74608ebc264 /lldb/packages/Python/lldbsuite/test/lang/c/bitfields/main.c
parent6010f97ee66fdc11f8f85b46c8e24f440ab8c72e (diff)
downloadbcm5719-llvm-cae0855a62d2dc09fddc581f7a52d10c43b17571.tar.gz
bcm5719-llvm-cae0855a62d2dc09fddc581f7a52d10c43b17571.zip
DWARF layout for bitfields is wrong when the bit offset is negative.
Some older versions of clang emitted bit offsets that were negative and these bitfields would have their bitfield-ness stripped off and it would cause a clang assertion in clang assertions were enabled. I updated the bitfield C test to make sure we don't regress. <rdar://problem/21082998> llvm-svn: 267248
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lang/c/bitfields/main.c')
-rw-r--r--lldb/packages/Python/lldbsuite/test/lang/c/bitfields/main.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/lang/c/bitfields/main.c b/lldb/packages/Python/lldbsuite/test/lang/c/bitfields/main.c
index 26c0176d759..236c926d81b 100644
--- a/lldb/packages/Python/lldbsuite/test/lang/c/bitfields/main.c
+++ b/lldb/packages/Python/lldbsuite/test/lang/c/bitfields/main.c
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
#include <stdint.h>
#include <stdio.h>
+
int main (int argc, char const *argv[])
{
struct Bits
@@ -62,6 +63,19 @@ int main (int argc, char const *argv[])
more_bits.c = 1;
more_bits.d = 0;
+#pragma pack(1)
+ struct PackedBits
+ {
+ char a;
+ uint32_t b : 5,
+ c : 27;
+ };
+#pragma pack()
+ struct PackedBits packed;
+ packed.a = 'a';
+ packed.b = 10;
+ packed.c = 0x7112233;
+
return 0; //// Set break point at this line.
}
OpenPOWER on IntegriCloud