diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-11-22 01:19:50 +0200 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2022-11-23 12:13:39 +0200 |
| commit | d5da2a6114926fae44f31eeab0706578f090dca8 (patch) | |
| tree | b2a561651f35aae2dd934f43690e0311c95db0c6 /src/Module.zig | |
| parent | 80575face7a3b1e0f47e413507a6fa8b1d002e57 (diff) | |
| download | zig-d5da2a6114926fae44f31eeab0706578f090dca8.tar.gz zig-d5da2a6114926fae44f31eeab0706578f090dca8.zip | |
Sema: implement tuple declarations
Diffstat (limited to 'src/Module.zig')
| -rw-r--r-- | src/Module.zig | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/Module.zig b/src/Module.zig index 8ea49f13b3..bb03616dff 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -938,6 +938,7 @@ pub const Struct = struct { known_non_opv: bool, requires_comptime: PropertyBoolean = .unknown, have_field_inits: bool = false, + is_tuple: bool, pub const Fields = std.StringArrayHashMapUnmanaged(Field); @@ -4458,6 +4459,7 @@ pub fn semaFile(mod: *Module, file: *File) SemaError!void { .layout = .Auto, .status = .none, .known_non_opv = undefined, + .is_tuple = undefined, // set below .namespace = .{ .parent = null, .ty = struct_ty, @@ -4489,6 +4491,9 @@ pub fn semaFile(mod: *Module, file: *File) SemaError!void { assert(file.zir_loaded); const main_struct_inst = Zir.main_struct_inst; struct_obj.zir_index = main_struct_inst; + const extended = file.zir.instructions.items(.data)[main_struct_inst].extended; + const small = @bitCast(Zir.Inst.StructDecl.Small, extended.small); + struct_obj.is_tuple = small.is_tuple; var sema_arena = std.heap.ArenaAllocator.init(gpa); defer sema_arena.deinit(); |
