diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-03-14 00:09:20 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-03-14 00:11:46 -0700 |
| commit | eee989d2a00f99d95900515b48f981f2ea6bbe78 (patch) | |
| tree | 2f532bec516305d93805a83bde691f7dc6e9d5d9 | |
| parent | 2a50a4629b19af1e72f55a41f45398be61bb7db1 (diff) | |
| download | zig-eee989d2a00f99d95900515b48f981f2ea6bbe78.tar.gz zig-eee989d2a00f99d95900515b48f981f2ea6bbe78.zip | |
Sema: Type.abiSize asserts instead of using max with alignment
ABI size is guaranteed to always be >= alignment.
| -rw-r--r-- | src/type.zig | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/type.zig b/src/type.zig index 30c8838109..10f0b0325d 100644 --- a/src/type.zig +++ b/src/type.zig @@ -2573,15 +2573,14 @@ pub const Type = extern union { .array_u8_sentinel_0 => self.castTag(.array_u8_sentinel_0).?.data + 1, .array, .vector => { const payload = self.cast(Payload.Array).?.data; - const elem_size = @maximum(payload.elem_type.abiAlignment(target), payload.elem_type.abiSize(target)); + const elem_size = payload.elem_type.abiSize(target); + assert(elem_size >= payload.elem_type.abiAlignment(target)); return payload.len * elem_size; }, .array_sentinel => { const payload = self.castTag(.array_sentinel).?.data; - const elem_size = std.math.max( - payload.elem_type.abiAlignment(target), - payload.elem_type.abiSize(target), - ); + const elem_size = payload.elem_type.abiSize(target); + assert(elem_size >= payload.elem_type.abiAlignment(target)); return (payload.len + 1) * elem_size; }, .i16, .u16 => return 2, |
