mirror of
https://github.com/ziglang/zig.git
synced 2026-02-01 20:23:38 +00:00
x86_64: fix error_set_has_value of inferred error sets
This commit is contained in:
parent
06eebafadd
commit
73498737a2
@ -116306,10 +116306,17 @@ const Select = struct {
|
||||
},
|
||||
.frame => |frame_index| .{ try cg.tempInit(spec.type, .{ .load_frame = .{ .index = frame_index } }), true },
|
||||
.lazy_symbol => |lazy_symbol_spec| {
|
||||
const ip = &pt.zcu.intern_pool;
|
||||
const ty = if (lazy_symbol_spec.ref == .none) spec.type else lazy_symbol_spec.ref.typeOf(s);
|
||||
const lazy_symbol: link.File.LazySymbol = .{
|
||||
.kind = lazy_symbol_spec.kind,
|
||||
.ty = ty.toIntern(),
|
||||
.ty = switch (ip.indexToKey(ty.toIntern())) {
|
||||
.inferred_error_set_type => |func_index| switch (ip.funcIesResolvedUnordered(func_index)) {
|
||||
.none => unreachable, // unresolved inferred error set
|
||||
else => |ty_index| ty_index,
|
||||
},
|
||||
else => ty.toIntern(),
|
||||
},
|
||||
};
|
||||
return .{ try cg.tempInit(.usize, .{ .lea_symbol = .{
|
||||
.sym_index = if (cg.bin_file.cast(.elf)) |elf_file|
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user