diff options
author | Oliver Geller <oliver.geller@rochester.edu> | 2017-09-18 23:55:27 -0400 |
---|---|---|
committer | Oliver Geller <oliver.geller@rochester.edu> | 2017-09-19 22:41:10 -0400 |
commit | 4111a46da52ebb4ada98a6c2277e6ac00eae06cc (patch) | |
tree | f0f5be0805ca3198d9080c3be5a48f69ad9fded0 | |
parent | 95879ddfbf2abe335118fcbb9308753bb092a21c (diff) |
Add large bitfield derive test and fix missing limit
-rw-r--r-- | src/ir/analysis/derive_copy.rs | 1 | ||||
-rw-r--r-- | tests/expectations/tests/bitfield_large_overflow.rs | 21 | ||||
-rw-r--r-- | tests/headers/bitfield_large_overflow.hpp | 5 |
3 files changed, 27 insertions, 0 deletions
diff --git a/src/ir/analysis/derive_copy.rs b/src/ir/analysis/derive_copy.rs index fa9cd6e0..264d227a 100644 --- a/src/ir/analysis/derive_copy.rs +++ b/src/ir/analysis/derive_copy.rs @@ -9,6 +9,7 @@ use ir::derive::CanTriviallyDeriveCopy; use ir::item::IsOpaque; use ir::template::TemplateParameters; use ir::traversal::EdgeKind; +use ir::ty::RUST_DERIVE_IN_ARRAY_LIMIT; use ir::ty::TypeKind; use std::collections::HashMap; use std::collections::HashSet; diff --git a/tests/expectations/tests/bitfield_large_overflow.rs b/tests/expectations/tests/bitfield_large_overflow.rs new file mode 100644 index 00000000..523570e4 --- /dev/null +++ b/tests/expectations/tests/bitfield_large_overflow.rs @@ -0,0 +1,21 @@ +/* automatically generated by rust-bindgen */ + + +#![allow(dead_code, non_snake_case, non_camel_case_types, non_upper_case_globals)] + + +#[repr(C)] +pub struct _bindgen_ty_1 { + pub _bitfield_1: [u8; 128usize], + pub __bindgen_align: [u64; 0usize], +} +impl Default for _bindgen_ty_1 { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } +} +extern "C" { + #[link_name = "a"] + pub static mut a: _bindgen_ty_1; +} + diff --git a/tests/headers/bitfield_large_overflow.hpp b/tests/headers/bitfield_large_overflow.hpp new file mode 100644 index 00000000..227829b8 --- /dev/null +++ b/tests/headers/bitfield_large_overflow.hpp @@ -0,0 +1,5 @@ +// bindgen-flags: --no-layout-tests + +struct { + unsigned : 632; +} a; |