diff options
author | Flier Lu <flier.lu@gmail.com> | 2017-02-08 19:45:56 +0800 |
---|---|---|
committer | Flier Lu <flier.lu@gmail.com> | 2017-02-08 19:46:00 +0800 |
commit | df2ff4f9fe9156989ced59ffd4bcce68764b6ca4 (patch) | |
tree | ee0f067b0099f4a318fa2eed4c5f0123a060f35a /src/codegen/struct_layout.rs | |
parent | ddc07fc6ba1586bac0edc0e80b99a83de1616538 (diff) |
check empty layout
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) |