authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-04-09 23:23:44-04:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-04-10 06:04:09-04:00
log73498737a2da4f43002783da4755a67aba42344e
tree6d79a4704c73f4c437716212a9d17490df307cb6
parent06eebafadd471ee287bfd4436b0c3ffcae3136c8

x86_64: fix `error_set_has_value` of inferred error sets


1 files changed, 8 insertions(+), 1 deletions(-)

src/arch/x86_64/CodeGen.zig+8-1
......@@ -116306,10 +116306,17 @@ const Select = struct {
116306116306 },
116307116307 .frame => |frame_index| .{ try cg.tempInit(spec.type, .{ .load_frame = .{ .index = frame_index } }), true },
116308116308 .lazy_symbol => |lazy_symbol_spec| {
116309 const ip = &pt.zcu.intern_pool;
116309116310 const ty = if (lazy_symbol_spec.ref == .none) spec.type else lazy_symbol_spec.ref.typeOf(s);
116310116311 const lazy_symbol: link.File.LazySymbol = .{
116311116312 .kind = lazy_symbol_spec.kind,
116312 .ty = ty.toIntern(),
116313 .ty = switch (ip.indexToKey(ty.toIntern())) {
116314 .inferred_error_set_type => |func_index| switch (ip.funcIesResolvedUnordered(func_index)) {
116315 .none => unreachable, // unresolved inferred error set
116316 else => |ty_index| ty_index,
116317 },
116318 else => ty.toIntern(),
116319 },
116313116320 };
116314116321 return .{ try cg.tempInit(.usize, .{ .lea_symbol = .{
116315116322 .sym_index = if (cg.bin_file.cast(.elf)) |elf_file|