mirror of
https://github.com/ziglang/zig.git
synced 2026-02-18 07:18:38 +00:00
Sema: Type.abiSize asserts instead of using max with alignment
ABI size is guaranteed to always be >= alignment.
This commit is contained in:
parent
2a50a4629b
commit
eee989d2a0
@ -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,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user