From 8592f3677b7d9624ac6bd64df46a962c92b4561f Mon Sep 17 00:00:00 2001 From: Nick Fitzgerald Date: Wed, 1 Nov 2017 15:57:50 -0700 Subject: Avoid divide-by-zero when checking if a field will merge with bitfields --- tests/headers/divide-by-zero-in-struct-layout.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 tests/headers/divide-by-zero-in-struct-layout.h (limited to 'tests/headers/divide-by-zero-in-struct-layout.h') 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; +}; -- cgit v1.2.3