mirror of
https://github.com/ziglang/zig.git
synced 2026-02-19 07:48:31 +00:00
parent
b8124d9c0b
commit
38ba425b26
@ -10475,11 +10475,14 @@ pub const FuncGen = struct {
|
||||
const slice_ty = self.typeOfIndex(inst);
|
||||
const slice_llvm_ty = try o.lowerType(pt, slice_ty);
|
||||
|
||||
// If operand is small (e.g. `u8`), then signedness becomes a problem -- GEP always treats the index as signed.
|
||||
const extended_operand = try self.wip.conv(.unsigned, operand, try o.lowerType(pt, .usize), "");
|
||||
|
||||
const error_name_table_ptr = try self.getErrorNameTable();
|
||||
const error_name_table =
|
||||
try self.wip.load(.normal, .ptr, error_name_table_ptr.toValue(&o.builder), .default, "");
|
||||
const error_name_ptr =
|
||||
try self.wip.gep(.inbounds, slice_llvm_ty, error_name_table, &.{operand}, "");
|
||||
try self.wip.gep(.inbounds, slice_llvm_ty, error_name_table, &.{extended_operand}, "");
|
||||
return self.wip.load(.normal, slice_llvm_ty, error_name_ptr, .default, "");
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user