| ... | @@ -16116,7 +16116,30 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -16116,7 +16116,30 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 16116 | try info.pointee_type.lazyAbiAlignment(mod, sema.arena); | 16116 | try info.pointee_type.lazyAbiAlignment(mod, sema.arena); |
| 16117 | | 16117 | |
| 16118 | const addrspace_ty = try sema.getBuiltinType("AddressSpace"); | 16118 | const addrspace_ty = try sema.getBuiltinType("AddressSpace"); |
| 16119 | const ptr_size_ty = try sema.getBuiltinType("PtrSize"); | 16119 | const pointer_ty = t: { |
| | 16120 | const decl_index = (try sema.namespaceLookup( |
| | 16121 | block, |
| | 16122 | src, |
| | 16123 | (try sema.getBuiltinType("Type")).getNamespaceIndex(mod).unwrap().?, |
| | 16124 | "Pointer", |
| | 16125 | )).?; |
| | 16126 | try mod.declareDeclDependency(sema.owner_decl_index, decl_index); |
| | 16127 | try sema.ensureDeclAnalyzed(decl_index); |
| | 16128 | const decl = mod.declPtr(decl_index); |
| | 16129 | break :t decl.val.toType(); |
| | 16130 | }; |
| | 16131 | const ptr_size_ty = t: { |
| | 16132 | const decl_index = (try sema.namespaceLookup( |
| | 16133 | block, |
| | 16134 | src, |
| | 16135 | pointer_ty.getNamespaceIndex(mod).unwrap().?, |
| | 16136 | "Size", |
| | 16137 | )).?; |
| | 16138 | try mod.declareDeclDependency(sema.owner_decl_index, decl_index); |
| | 16139 | try sema.ensureDeclAnalyzed(decl_index); |
| | 16140 | const decl = mod.declPtr(decl_index); |
| | 16141 | break :t decl.val.toType(); |
| | 16142 | }; |
| 16120 | | 16143 | |
| 16121 | const field_values = try sema.arena.create([8]Value); | 16144 | const field_values = try sema.arena.create([8]Value); |
| 16122 | field_values.* = .{ | 16145 | field_values.* = .{ |
| ... | @@ -16469,7 +16492,18 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -16469,7 +16492,18 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 16469 | break :v try Value.Tag.opt_payload.create(sema.arena, ty_val); | 16492 | break :v try Value.Tag.opt_payload.create(sema.arena, ty_val); |
| 16470 | } else Value.null; | 16493 | } else Value.null; |
| 16471 | | 16494 | |
| 16472 | const container_layout_ty = try sema.getBuiltinType("TmpContainerLayoutAlias"); | 16495 | const container_layout_ty = t: { |
| | 16496 | const decl_index = (try sema.namespaceLookup( |
| | 16497 | block, |
| | 16498 | src, |
| | 16499 | (try sema.getBuiltinType("Type")).getNamespaceIndex(mod).unwrap().?, |
| | 16500 | "ContainerLayout", |
| | 16501 | )).?; |
| | 16502 | try mod.declareDeclDependency(sema.owner_decl_index, decl_index); |
| | 16503 | try sema.ensureDeclAnalyzed(decl_index); |
| | 16504 | const decl = mod.declPtr(decl_index); |
| | 16505 | break :t decl.val.toType(); |
| | 16506 | }; |
| 16473 | | 16507 | |
| 16474 | const field_values = try sema.arena.create([4]Value); | 16508 | const field_values = try sema.arena.create([4]Value); |
| 16475 | field_values.* = .{ | 16509 | field_values.* = .{ |
| ... | @@ -16648,7 +16682,18 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -16648,7 +16682,18 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 16648 | } | 16682 | } |
| 16649 | }; | 16683 | }; |
| 16650 | | 16684 | |
| 16651 | const container_layout_ty = try sema.getBuiltinType("TmpContainerLayoutAlias"); | 16685 | const container_layout_ty = t: { |
| | 16686 | const decl_index = (try sema.namespaceLookup( |
| | 16687 | block, |
| | 16688 | src, |
| | 16689 | (try sema.getBuiltinType("Type")).getNamespaceIndex(mod).unwrap().?, |
| | 16690 | "ContainerLayout", |
| | 16691 | )).?; |
| | 16692 | try mod.declareDeclDependency(sema.owner_decl_index, decl_index); |
| | 16693 | try sema.ensureDeclAnalyzed(decl_index); |
| | 16694 | const decl = mod.declPtr(decl_index); |
| | 16695 | break :t decl.val.toType(); |
| | 16696 | }; |
| 16652 | | 16697 | |
| 16653 | const field_values = try sema.arena.create([5]Value); | 16698 | const field_values = try sema.arena.create([5]Value); |
| 16654 | field_values.* = .{ | 16699 | field_values.* = .{ |