Skip to content

Commit

Permalink
Sema: use Sema.typeAbiSize rather than Type.abiSize
Browse files Browse the repository at this point in the history
This resolves the type instead of asserting that the type is resolved,
fixing a crash.
  • Loading branch information
andrewrk committed Jan 23, 2024
1 parent c0e0bb3 commit aef1da1
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/Sema.zig
Original file line number Diff line number Diff line change
Expand Up @@ -16575,7 +16575,7 @@ fn analyzePtrArithmetic(
}
// If the addend is not a comptime-known value we can still count on
// it being a multiple of the type size.
const elem_size = Type.fromInterned(ptr_info.child).abiSize(mod);
const elem_size = try sema.typeAbiSize(Type.fromInterned(ptr_info.child));
const addend = if (opt_off_val) |off_val| a: {
const off_int = try sema.usizeCast(block, offset_src, try off_val.toUnsignedIntAdvanced(sema));
break :a elem_size * off_int;
Expand Down Expand Up @@ -16612,7 +16612,7 @@ fn analyzePtrArithmetic(
const offset_int = try sema.usizeCast(block, offset_src, try offset_val.toUnsignedIntAdvanced(sema));
if (offset_int == 0) return ptr;
if (try ptr_val.getUnsignedIntAdvanced(mod, sema)) |addr| {
const elem_size = Type.fromInterned(ptr_info.child).abiSize(mod);
const elem_size = try sema.typeAbiSize(Type.fromInterned(ptr_info.child));
const new_addr = switch (air_tag) {
.ptr_add => addr + elem_size * offset_int,
.ptr_sub => addr - elem_size * offset_int,
Expand Down

0 comments on commit aef1da1

Please sign in to comment.