authorgravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2021-08-26 03:29:31+02:00
committergravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2021-09-20 02:29:03+02:00
log0e6dc64a6fa173ae92197f692cf907fdc8bbf811
treed976bc3a1d418e796b40d80a8eb11f8818f0d461
parentcd9f6001af407a6961281cbe9c658cfe94b81ecb

Address Spaces: Return proper address space for &x[y]


1 files changed, 7 insertions(+), 4 deletions(-)

src/Sema.zig+7-4
......@@ -9035,10 +9035,13 @@ fn elemPtrArray(
90359035) CompileError!Air.Inst.Ref {
90369036 const array_ptr_ty = sema.typeOf(array_ptr);
90379037 const pointee_type = array_ptr_ty.elemType().elemType();
9038 const result_ty = if (array_ptr_ty.ptrIsMutable())
9039 try Type.Tag.single_mut_pointer.create(sema.arena, pointee_type)
9040 else
9041 try Type.Tag.single_const_pointer.create(sema.arena, pointee_type);
9038 const result_ty = try Module.simplePtrTypeWithAddressSpace(
9039 sema.arena,
9040 pointee_type,
9041 array_ptr_ty.ptrIsMutable(),
9042 .One,
9043 array_ptr_ty.ptrAddressSpace(),
9044 );
90429045
90439046 if (try sema.resolveDefinedValue(block, src, array_ptr)) |array_ptr_val| {
90449047 if (try sema.resolveDefinedValue(block, elem_index_src, elem_index)) |index_val| {