summaryrefslogtreecommitdiff
path: root/src/codegen/mod.rs
diff options
context:
space:
mode:
authorSergey Pepyakin <s.pepyakin@gmail.com>2017-10-11 15:09:27 +0300
committerSergey Pepyakin <s.pepyakin@gmail.com>2017-10-11 15:09:27 +0300
commit2a57d7c250da6097be677067c94d093a3e554080 (patch)
tree2f9c5ed2be3f2f8dbc253e0ba0b9a02752b286b2 /src/codegen/mod.rs
parent83156461266e80c426dcd4aee135a17b1dab3f18 (diff)
Refactor requires_explicit_align
Diffstat (limited to 'src/codegen/mod.rs')
-rw-r--r--src/codegen/mod.rs11
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 ,
+ });
+ }
}
}