aboutsummaryrefslogtreecommitdiff
path: root/src/Sema.zig
diff options
context:
space:
mode:
authorRobin Voetter <robin@voetter.nl>2021-08-30 02:54:03 +0200
committerRobin Voetter <robin@voetter.nl>2021-09-20 02:29:04 +0200
commitc5945467acfd580cb3413250ef52f13dc412a8cf (patch)
treecd56aa35c06a65ec51a3ade3a3bbb90eb33cb8a1 /src/Sema.zig
parent7a5d0cdf45f861f63d89666607dc86b3a2810826 (diff)
downloadzig-c5945467acfd580cb3413250ef52f13dc412a8cf.tar.gz
zig-c5945467acfd580cb3413250ef52f13dc412a8cf.zip
Address Spaces: Pointer and function info in @Type
Diffstat (limited to 'src/Sema.zig')
-rw-r--r--src/Sema.zig15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index d6e926e604..bf676866a1 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -6413,7 +6413,7 @@ fn zirTypeInfo(sema: *Sema, block: *Scope.Block, inst: Zir.Inst.Index) CompileEr
switch (ty.zigTypeTag()) {
.Fn => {
- const field_values = try sema.arena.alloc(Value, 6);
+ const field_values = try sema.arena.alloc(Value, 7);
// calling_convention: CallingConvention,
field_values[0] = try Value.Tag.enum_field_index.create(
sema.arena,
@@ -6421,14 +6421,19 @@ fn zirTypeInfo(sema: *Sema, block: *Scope.Block, inst: Zir.Inst.Index) CompileEr
);
// alignment: comptime_int,
field_values[1] = try Value.Tag.int_u64.create(sema.arena, ty.abiAlignment(target));
+ // address_space: AddressSpace,
+ field_values[2] = try Value.Tag.enum_field_index.create(
+ sema.arena,
+ @enumToInt(ty.fnAddressSpace()),
+ );
// is_generic: bool,
- field_values[2] = Value.initTag(.bool_false); // TODO
- // is_var_args: bool,
field_values[3] = Value.initTag(.bool_false); // TODO
+ // is_var_args: bool,
+ field_values[4] = Value.initTag(.bool_false); // TODO
// return_type: ?type,
- field_values[4] = try Value.Tag.ty.create(sema.arena, ty.fnReturnType());
+ field_values[5] = try Value.Tag.ty.create(sema.arena, ty.fnReturnType());
// args: []const FnArg,
- field_values[5] = Value.initTag(.null_value); // TODO
+ field_values[6] = Value.initTag(.null_value); // TODO
return sema.addConstant(
type_info_ty,