authorgravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2021-12-18 05:39:13+01:00
committergravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2021-12-21 01:41:51+01:00
log2f7e98c129ca3c86fe20c043078bcc7f2fe477d6
tree2097df88468ed13d565a7787299be50c8d48df34
parentf3d635b6683ba4a53f82ae8087b1cf78552abac5

stage2: also write addrspace to pointer typeinfo


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

src/Sema.zig+6-4
......@@ -8881,7 +8881,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai
88818881 },
88828882 .Pointer => {
88838883 const info = ty.ptrInfo().data;
8884 const field_values = try sema.arena.alloc(Value, 7);
8884 const field_values = try sema.arena.alloc(Value, 8);
88858885 // size: Size,
88868886 field_values[0] = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(info.size));
88878887 // is_const: bool,
......@@ -8890,12 +8890,14 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai
88908890 field_values[2] = if (info.@"volatile") Value.initTag(.bool_true) else Value.initTag(.bool_false);
88918891 // alignment: comptime_int,
88928892 field_values[3] = try Value.Tag.int_u64.create(sema.arena, info.@"align");
8893 // address_space: AddressSpace
8894 field_values[4] = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(info.@"addrspace"));
88938895 // child: type,
8894 field_values[4] = try Value.Tag.ty.create(sema.arena, info.pointee_type);
8896 field_values[5] = try Value.Tag.ty.create(sema.arena, info.pointee_type);
88958897 // is_allowzero: bool,
8896 field_values[5] = if (info.@"allowzero") Value.initTag(.bool_true) else Value.initTag(.bool_false);
8898 field_values[6] = if (info.@"allowzero") Value.initTag(.bool_true) else Value.initTag(.bool_false);
88978899 // sentinel: anytype,
8898 field_values[6] = if (info.sentinel) |some| try Value.Tag.opt_payload.create(sema.arena, some) else Value.@"null";
8900 field_values[7] = if (info.sentinel) |some| try Value.Tag.opt_payload.create(sema.arena, some) else Value.@"null";
88998901
89008902 return sema.addConstant(
89018903 type_info_ty,