summaryrefslogtreecommitdiff
path: root/tests/headers/bitfield_align.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/headers/bitfield_align.h')
-rw-r--r--tests/headers/bitfield_align.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/headers/bitfield_align.h b/tests/headers/bitfield_align.h
new file mode 100644
index 00000000..82b53099
--- /dev/null
+++ b/tests/headers/bitfield_align.h
@@ -0,0 +1,41 @@
+struct A {
+ unsigned char x;
+ unsigned b1 : 1;
+ unsigned b2 : 1;
+ unsigned b3 : 1;
+ unsigned b4 : 1;
+ unsigned b5 : 1;
+ unsigned b6 : 1;
+ unsigned b7 : 1;
+ unsigned b8 : 1;
+ unsigned b9 : 1;
+ unsigned b10 : 1;
+ unsigned char y;
+};
+
+struct B {
+ unsigned foo : 31;
+ unsigned char bar : 1;
+};
+
+struct C {
+ unsigned char x;
+ unsigned b1 : 1;
+ unsigned b2 : 1;
+ unsigned baz;
+};
+
+struct Date1 {
+ unsigned short nWeekDay : 3; // 0..7 (3 bits)
+ unsigned short nMonthDay : 6; // 0..31 (6 bits)
+ unsigned short nMonth : 5; // 0..12 (5 bits)
+ unsigned short nYear : 8; // 0..100 (8 bits)
+};
+
+struct Date2 {
+ unsigned short nWeekDay : 3; // 0..7 (3 bits)
+ unsigned short nMonthDay : 6; // 0..31 (6 bits)
+ unsigned short nMonth : 5; // 0..12 (5 bits)
+ unsigned short nYear : 8; // 0..100 (8 bits)
+ unsigned char byte;
+};