diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2017-02-08 03:55:29 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-08 03:55:29 -0800 |
commit | 8264afa875d686688680123859f8820e19c8028c (patch) | |
tree | d7ce04b37fbcffdf5121e8d99e8a4179882e21c8 /src/codegen/struct_layout.rs | |
parent | 86ce9dd967c15b159f74a1767738543e7e4536c3 (diff) | |
parent | df2ff4f9fe9156989ced59ffd4bcce68764b6ca4 (diff) |
Auto merge of #494 - flier:fix-493, r=emilio
check empty layout when padding bytes
fast workaround to fix issue #493
need to investigate why layout is empty
Diffstat (limited to 'src/codegen/struct_layout.rs')
-rw-r--r-- | src/codegen/struct_layout.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/codegen/struct_layout.rs b/src/codegen/struct_layout.rs index 3006a31a..98640570 100644 --- a/src/codegen/struct_layout.rs +++ b/src/codegen/struct_layout.rs @@ -163,7 +163,11 @@ impl<'a, 'ctx> StructLayoutTracker<'a, 'ctx> { } fn padding_bytes(&self, layout: Layout) -> usize { - if self.latest_offset % layout.align == 0 { + if layout.align == 0 { + warn!("try to padding bytes without layout"); + + 0 + } else if self.latest_offset % layout.align == 0 { 0 } else { layout.align - (self.latest_offset % layout.align) |