diff options
author | Sergey Pepyakin <s.pepyakin@gmail.com> | 2017-10-11 15:09:27 +0300 |
---|---|---|
committer | Sergey Pepyakin <s.pepyakin@gmail.com> | 2017-10-11 15:09:27 +0300 |
commit | 2a57d7c250da6097be677067c94d093a3e554080 (patch) | |
tree | 2f9c5ed2be3f2f8dbc253e0ba0b9a02752b286b2 /src/codegen/mod.rs | |
parent | 83156461266e80c426dcd4aee135a17b1dab3f18 (diff) |
Refactor requires_explicit_align
Diffstat (limited to 'src/codegen/mod.rs')
-rw-r--r-- | src/codegen/mod.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs index 694157d0..616f1730 100644 --- a/src/codegen/mod.rs +++ b/src/codegen/mod.rs @@ -1612,10 +1612,13 @@ impl CodeGenerator for CompInfo { fields.push(padding_field); } - if let Some(align_field) = - layout.and_then(|layout| struct_layout.align_struct(layout)) - { - fields.push(align_field); + if let Some(layout) = layout { + if struct_layout.requires_explicit_align(layout) { + let ty = helpers::blob(Layout::new(0, layout.align)); + fields.push(quote! { + pub __bindgen_align: #ty , + }); + } } } |