summaryrefslogtreecommitdiff
path: root/src/codegen/mod.rs
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2018-03-31 15:30:19 +0200
committerEmilio Cobos Álvarez <emilio@crisal.io>2018-04-03 11:27:46 +0200
commitfa1245198a0c61c13c0a8e6e02d431efe25ba0c9 (patch)
tree6a098f2e0e30bbc2ba703ee13183764b28758251 /src/codegen/mod.rs
parent473cfc29ff0b5a6a8f268d8a3069ffe9502edf90 (diff)
codegen: Don't skip alignment checks if we support repr align.
Plus fix the check that avoids us generating explicit alignment fields for structs aligned to more than pointer-size. Fixes #1291
Diffstat (limited to 'src/codegen/mod.rs')
-rw-r--r--src/codegen/mod.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs
index 5411b2a0..39babb6b 100644
--- a/src/codegen/mod.rs
+++ b/src/codegen/mod.rs
@@ -1776,8 +1776,9 @@ impl CodeGenerator for CompInfo {
let align = layout.align;
let check_struct_align =
- if align > ctx.target_pointer_size() {
- // FIXME when [RFC 1358](https://github.com/rust-lang/rust/issues/33626) ready
+ if align > ctx.target_pointer_size() &&
+ !ctx.options().rust_features().repr_align
+ {
None
} else {
Some(quote! {