diff options
author | Oliver Geller <oliver.geller@rochester.edu> | 2017-10-04 18:24:58 -0400 |
---|---|---|
committer | Oliver Geller <oliver.geller@rochester.edu> | 2017-10-04 19:14:28 -0400 |
commit | aa27283d7ed482613897ea115345c6531fb24db3 (patch) | |
tree | 17ddb582ce38ec3235864ba16bb3a2b5e53ae2f2 /tests | |
parent | 2930a85388db97461b3c4dc678c3ad119c10d2a3 (diff) |
Make bitfields larger than type opaque.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/expectations/tests/bitfield_large_overflow.rs | 23 | ||||
-rw-r--r-- | tests/headers/bitfield_large_overflow.hpp | 2 |
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; |