aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobin Voetter <robin@voetter.nl>2021-12-18 05:39:13 +0100
committerRobin Voetter <robin@voetter.nl>2021-12-21 01:41:51 +0100
commit2f7e98c129ca3c86fe20c043078bcc7f2fe477d6 (patch)
tree2097df88468ed13d565a7787299be50c8d48df34 /src
parentf3d635b6683ba4a53f82ae8087b1cf78552abac5 (diff)
downloadzig-2f7e98c129ca3c86fe20c043078bcc7f2fe477d6.tar.gz
zig-2f7e98c129ca3c86fe20c043078bcc7f2fe477d6.zip
stage2: also write addrspace to pointer typeinfo
Diffstat (limited to 'src')
-rw-r--r--src/Sema.zig10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index 82901e8a8c..9b9371c856 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -8881,7 +8881,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai
},
.Pointer => {
const info = ty.ptrInfo().data;
- const field_values = try sema.arena.alloc(Value, 7);
+ const field_values = try sema.arena.alloc(Value, 8);
// size: Size,
field_values[0] = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(info.size));
// is_const: bool,
@@ -8890,12 +8890,14 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai
field_values[2] = if (info.@"volatile") Value.initTag(.bool_true) else Value.initTag(.bool_false);
// alignment: comptime_int,
field_values[3] = try Value.Tag.int_u64.create(sema.arena, info.@"align");
+ // address_space: AddressSpace
+ field_values[4] = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(info.@"addrspace"));
// child: type,
- field_values[4] = try Value.Tag.ty.create(sema.arena, info.pointee_type);
+ field_values[5] = try Value.Tag.ty.create(sema.arena, info.pointee_type);
// is_allowzero: bool,
- field_values[5] = if (info.@"allowzero") Value.initTag(.bool_true) else Value.initTag(.bool_false);
+ field_values[6] = if (info.@"allowzero") Value.initTag(.bool_true) else Value.initTag(.bool_false);
// sentinel: anytype,
- field_values[6] = if (info.sentinel) |some| try Value.Tag.opt_payload.create(sema.arena, some) else Value.@"null";
+ field_values[7] = if (info.sentinel) |some| try Value.Tag.opt_payload.create(sema.arena, some) else Value.@"null";
return sema.addConstant(
type_info_ty,