aboutsummaryrefslogtreecommitdiff
path: root/src/Sema.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-05-23 19:00:48 -0700
committerAndrew Kelley <andrew@ziglang.org>2023-06-10 20:47:54 -0700
commit1b64eed107f54220f85a5158699225b59899a20a (patch)
treed488350ff984cabe9e975a8d81364c99819e6d1e /src/Sema.zig
parent484c3e8cbcbd206023468cc16783498bbb662a2c (diff)
downloadzig-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.zig51
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.* = .{