aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.zig
diff options
context:
space:
mode:
authormlugg <mlugg@mlugg.co.uk>2023-05-07 22:12:04 +0100
committerAndrew Kelley <andrew@ziglang.org>2023-06-10 20:42:29 -0700
commit2ffef605c75b62ba49e21bfb3256537a4a2c0a5e (patch)
treeba18403418bcd0c1e6f6f52f9effa51dfd91c878 /src/codegen.zig
parent4c3c605e5f53c91430efac821ce1b863cbb5bf06 (diff)
downloadzig-2ffef605c75b62ba49e21bfb3256537a4a2c0a5e.tar.gz
zig-2ffef605c75b62ba49e21bfb3256537a4a2c0a5e.zip
Replace uses of Value.zero, Value.one, Value.negative_one
This is a bit nasty, mainly because Type.onePossibleValue is now errorable, which is a quite viral change.
Diffstat (limited to 'src/codegen.zig')
-rw-r--r--src/codegen.zig8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index 9c9868892f..8bd478bf7c 100644
--- a/src/codegen.zig
+++ b/src/codegen.zig
@@ -675,7 +675,7 @@ pub fn generateSymbol(
const is_payload = typed_value.val.errorUnionIsPayload();
if (!payload_ty.hasRuntimeBitsIgnoreComptime(mod)) {
- const err_val = if (is_payload) Value.zero else typed_value.val;
+ const err_val = if (is_payload) try mod.intValue(error_ty, 0) else typed_value.val;
return generateSymbol(bin_file, src_loc, .{
.ty = error_ty,
.val = err_val,
@@ -690,7 +690,7 @@ pub fn generateSymbol(
if (error_align > payload_align) {
switch (try generateSymbol(bin_file, src_loc, .{
.ty = error_ty,
- .val = if (is_payload) Value.zero else typed_value.val,
+ .val = if (is_payload) try mod.intValue(error_ty, 0) else typed_value.val,
}, code, debug_output, reloc_info)) {
.ok => {},
.fail => |em| return Result{ .fail = em },
@@ -722,7 +722,7 @@ pub fn generateSymbol(
const begin = code.items.len;
switch (try generateSymbol(bin_file, src_loc, .{
.ty = error_ty,
- .val = if (is_payload) Value.zero else typed_value.val,
+ .val = if (is_payload) try mod.intValue(error_ty, 0) else typed_value.val,
}, code, debug_output, reloc_info)) {
.ok => {},
.fail => |em| return Result{ .fail = em },
@@ -1280,7 +1280,7 @@ pub fn genTypedValue(
if (!payload_type.hasRuntimeBitsIgnoreComptime(mod)) {
// We use the error type directly as the type.
- const err_val = if (!is_pl) typed_value.val else Value.zero;
+ const err_val = if (!is_pl) typed_value.val else try mod.intValue(error_type, 0);
return genTypedValue(bin_file, src_loc, .{
.ty = error_type,
.val = err_val,