diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-05-23 19:00:48 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-06-10 20:47:54 -0700 |
| commit | 1b64eed107f54220f85a5158699225b59899a20a (patch) | |
| tree | d488350ff984cabe9e975a8d81364c99819e6d1e /src/Sema.zig | |
| parent | 484c3e8cbcbd206023468cc16783498bbb662a2c (diff) | |
| download | zig-1b64eed107f54220f85a5158699225b59899a20a.tar.gz zig-1b64eed107f54220f85a5158699225b59899a20a.zip | |
remove the kludges from std.builtin
I added these in an earlier commit in this branch. This commit removes
them before the branch is merged.
Diffstat (limited to 'src/Sema.zig')
| -rw-r--r-- | src/Sema.zig | 51 |
1 files changed, 48 insertions, 3 deletions
diff --git a/src/Sema.zig b/src/Sema.zig index cdf02e7c72..13a1c1cb3d 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -16116,7 +16116,30 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai try info.pointee_type.lazyAbiAlignment(mod, sema.arena); const addrspace_ty = try sema.getBuiltinType("AddressSpace"); - const ptr_size_ty = try sema.getBuiltinType("PtrSize"); + const pointer_ty = t: { + const decl_index = (try sema.namespaceLookup( + block, + src, + (try sema.getBuiltinType("Type")).getNamespaceIndex(mod).unwrap().?, + "Pointer", + )).?; + try mod.declareDeclDependency(sema.owner_decl_index, decl_index); + try sema.ensureDeclAnalyzed(decl_index); + const decl = mod.declPtr(decl_index); + break :t decl.val.toType(); + }; + const ptr_size_ty = t: { + const decl_index = (try sema.namespaceLookup( + block, + src, + pointer_ty.getNamespaceIndex(mod).unwrap().?, + "Size", + )).?; + try mod.declareDeclDependency(sema.owner_decl_index, decl_index); + try sema.ensureDeclAnalyzed(decl_index); + const decl = mod.declPtr(decl_index); + break :t decl.val.toType(); + }; const field_values = try sema.arena.create([8]Value); field_values.* = .{ @@ -16469,7 +16492,18 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai break :v try Value.Tag.opt_payload.create(sema.arena, ty_val); } else Value.null; - const container_layout_ty = try sema.getBuiltinType("TmpContainerLayoutAlias"); + const container_layout_ty = t: { + const decl_index = (try sema.namespaceLookup( + block, + src, + (try sema.getBuiltinType("Type")).getNamespaceIndex(mod).unwrap().?, + "ContainerLayout", + )).?; + try mod.declareDeclDependency(sema.owner_decl_index, decl_index); + try sema.ensureDeclAnalyzed(decl_index); + const decl = mod.declPtr(decl_index); + break :t decl.val.toType(); + }; const field_values = try sema.arena.create([4]Value); field_values.* = .{ @@ -16648,7 +16682,18 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai } }; - const container_layout_ty = try sema.getBuiltinType("TmpContainerLayoutAlias"); + const container_layout_ty = t: { + const decl_index = (try sema.namespaceLookup( + block, + src, + (try sema.getBuiltinType("Type")).getNamespaceIndex(mod).unwrap().?, + "ContainerLayout", + )).?; + try mod.declareDeclDependency(sema.owner_decl_index, decl_index); + try sema.ensureDeclAnalyzed(decl_index); + const decl = mod.declPtr(decl_index); + break :t decl.val.toType(); + }; const field_values = try sema.arena.create([5]Value); field_values.* = .{ |
