summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorOliver Geller <oliver.geller@rochester.edu>2017-10-04 18:24:58 -0400
committerOliver Geller <oliver.geller@rochester.edu>2017-10-04 19:14:28 -0400
commitaa27283d7ed482613897ea115345c6531fb24db3 (patch)
tree17ddb582ce38ec3235864ba16bb3a2b5e53ae2f2 /tests
parent2930a85388db97461b3c4dc678c3ad119c10d2a3 (diff)
Make bitfields larger than type opaque.
Diffstat (limited to 'tests')
-rw-r--r--tests/expectations/tests/bitfield_large_overflow.rs23
-rw-r--r--tests/headers/bitfield_large_overflow.hpp2
2 files changed, 18 insertions, 7 deletions
diff --git a/tests/expectations/tests/bitfield_large_overflow.rs b/tests/expectations/tests/bitfield_large_overflow.rs
index 108e3288..fb2029ea 100644
--- a/tests/expectations/tests/bitfield_large_overflow.rs
+++ b/tests/expectations/tests/bitfield_large_overflow.rs
@@ -5,13 +5,26 @@
#[repr(C)]
+#[derive(Debug, Default, Copy)]
pub struct _bindgen_ty_1 {
- pub _bitfield_1: [u8; 128usize],
- pub __bindgen_align: [u64; 0usize],
+ pub _bindgen_opaque_blob: [u64; 10usize],
}
-impl Default for _bindgen_ty_1 {
- fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+#[test]
+fn bindgen_test_layout__bindgen_ty_1() {
+ assert_eq!(
+ ::std::mem::size_of::<_bindgen_ty_1>(),
+ 80usize,
+ concat!("Size of: ", stringify!(_bindgen_ty_1))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_bindgen_ty_1>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(_bindgen_ty_1))
+ );
+}
+impl Clone for _bindgen_ty_1 {
+ fn clone(&self) -> Self {
+ *self
}
}
extern "C" {
diff --git a/tests/headers/bitfield_large_overflow.hpp b/tests/headers/bitfield_large_overflow.hpp
index 227829b8..9e040ae3 100644
--- a/tests/headers/bitfield_large_overflow.hpp
+++ b/tests/headers/bitfield_large_overflow.hpp
@@ -1,5 +1,3 @@
-// bindgen-flags: --no-layout-tests
-
struct {
unsigned : 632;
} a;