diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-07-07 14:52:28 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-07 14:52:28 -0400 |
| commit | 0c78ece1c95164f4a321f5705b20896415336d02 (patch) | |
| tree | dff294a61dc2c004b358f49062c551892a426770 /src/value.zig | |
| parent | 6f17be063d37f5ecd9552479e65428a5c60d9152 (diff) | |
| parent | 5007f727e5a2631ce55e9b44f93e69a9cb82cde8 (diff) | |
| download | zig-0c78ece1c95164f4a321f5705b20896415336d02.tar.gz zig-0c78ece1c95164f4a321f5705b20896415336d02.zip | |
Merge pull request #12016 from Vexu/stage2-compile-errors
Stage2 compile error improvements
Diffstat (limited to 'src/value.zig')
| -rw-r--r-- | src/value.zig | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/value.zig b/src/value.zig index 90cdf82834..04999c778a 100644 --- a/src/value.zig +++ b/src/value.zig @@ -111,6 +111,7 @@ pub const Value = extern union { int_i64, int_big_positive, int_big_negative, + runtime_int, function, extern_fn, variable, @@ -304,6 +305,7 @@ pub const Value = extern union { .int_type => Payload.IntType, .int_u64 => Payload.U64, .int_i64 => Payload.I64, + .runtime_int => Payload.U64, .function => Payload.Function, .variable => Payload.Variable, .decl_ref_mut => Payload.DeclRefMut, @@ -483,6 +485,7 @@ pub const Value = extern union { }, .int_type => return self.copyPayloadShallow(arena, Payload.IntType), .int_u64 => return self.copyPayloadShallow(arena, Payload.U64), + .runtime_int => return self.copyPayloadShallow(arena, Payload.U64), .int_i64 => return self.copyPayloadShallow(arena, Payload.I64), .int_big_positive, .int_big_negative => { const old_payload = self.cast(Payload.BigInt).?; @@ -762,6 +765,7 @@ pub const Value = extern union { .int_i64 => return std.fmt.formatIntValue(val.castTag(.int_i64).?.data, "", options, out_stream), .int_big_positive => return out_stream.print("{}", .{val.castTag(.int_big_positive).?.asBigInt()}), .int_big_negative => return out_stream.print("{}", .{val.castTag(.int_big_negative).?.asBigInt()}), + .runtime_int => return out_stream.writeAll("[runtime value]"), .function => return out_stream.print("(function decl={d})", .{val.castTag(.function).?.data.owner_decl}), .extern_fn => return out_stream.writeAll("(extern function)"), .variable => return out_stream.writeAll("(variable)"), @@ -1077,6 +1081,8 @@ pub const Value = extern union { .int_big_positive => return val.castTag(.int_big_positive).?.asBigInt(), .int_big_negative => return val.castTag(.int_big_negative).?.asBigInt(), + .runtime_int => return BigIntMutable.init(&space.limbs, val.castTag(.runtime_int).?.data).toConst(), + .undef => unreachable, .lazy_align => { @@ -1132,6 +1138,8 @@ pub const Value = extern union { .int_big_positive => return val.castTag(.int_big_positive).?.asBigInt().to(u64) catch null, .int_big_negative => return val.castTag(.int_big_negative).?.asBigInt().to(u64) catch null, + .runtime_int => return val.castTag(.runtime_int).?.data, + .undef => unreachable, .lazy_align => { |
