authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-09-19 17:06:57+03:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-09-20 00:50:13+03:00
log540130650f843f0c6aa79c2a2f29e79b33846994
tree9f72ec5bff096277d8b65550f65a079e518c97e8
parent541b3e3a31946475f29d21e7a742bf80c5952791

Sema: pass calculated offset to `elemPtrType` in `elemPtrSlice`


2 files changed, 6 insertions(+), 1 deletions(-)

src/Sema.zig+1-1
...@@ -22692,7 +22692,7 @@ fn elemPtrSlice(...@@ -22692,7 +22692,7 @@ fn elemPtrSlice(
22692 break :o index;22692 break :o index;
22693 } else null;22693 } else null;
2269422694
22695 const elem_ptr_ty = try sema.elemPtrType(slice_ty, null);22695 const elem_ptr_ty = try sema.elemPtrType(slice_ty, offset);
2269622696
22697 if (maybe_undef_slice_val) |slice_val| {22697 if (maybe_undef_slice_val) |slice_val| {
22698 if (slice_val.isUndef()) {22698 if (slice_val.isUndef()) {
test/behavior/align.zig+5
...@@ -564,3 +564,8 @@ test "@alignCast null" {...@@ -564,3 +564,8 @@ test "@alignCast null" {
564 const aligned: ?*anyopaque = @alignCast(@alignOf(?*anyopaque), ptr);564 const aligned: ?*anyopaque = @alignCast(@alignOf(?*anyopaque), ptr);
565 try expect(aligned == null);565 try expect(aligned == null);
566}566}
567
568test "alignment of slice element" {
569 const a: []align(1024) const u8 = undefined;
570 try expect(@TypeOf(&a[0]) == *align(1024) const u8);
571}