summaryrefslogtreecommitdiff
path: root/tests/headers/divide-by-zero-in-struct-layout.h
diff options
context:
space:
mode:
authorNick Fitzgerald <fitzgen@gmail.com>2017-11-01 15:57:50 -0700
committerNick Fitzgerald <fitzgen@gmail.com>2017-11-01 16:17:01 -0700
commit8592f3677b7d9624ac6bd64df46a962c92b4561f (patch)
treed969538f9276d9860f7ad7d2528629e49bfeaefd /tests/headers/divide-by-zero-in-struct-layout.h
parentddb680b27db6581070b7b4fb03ea1119167a0bd3 (diff)
Avoid divide-by-zero when checking if a field will merge with bitfields
Diffstat (limited to 'tests/headers/divide-by-zero-in-struct-layout.h')
-rw-r--r--tests/headers/divide-by-zero-in-struct-layout.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/headers/divide-by-zero-in-struct-layout.h b/tests/headers/divide-by-zero-in-struct-layout.h
new file mode 100644
index 00000000..470250d3
--- /dev/null
+++ b/tests/headers/divide-by-zero-in-struct-layout.h
@@ -0,0 +1,22 @@
+// bindgen-flags: --no-layout-tests
+//
+// Unfortunately, we aren't translating the second and third structs correctly
+// yet. But we definitely shouldn't divide-by-zero when we see it...
+//
+// Once we fix #981 we should remove the `--no-layout-tests`.
+
+struct WithBitfield {
+ unsigned : 7;
+ unsigned a;
+};
+
+struct WithBitfieldAndAttrPacked {
+ unsigned : 7;
+ unsigned a;
+} __attribute__((packed));
+
+#pragma pack(1)
+struct WithBitfieldAndPacked {
+ unsigned : 7;
+ unsigned a;
+};