aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen.zig')
-rw-r--r--src/codegen.zig5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index eea8095a62..4f400fa7fc 100644
--- a/src/codegen.zig
+++ b/src/codegen.zig
@@ -442,7 +442,10 @@ pub fn generateSymbol(
.Int => {
const info = typed_value.ty.intInfo(target);
if (info.bits <= 8) {
- const x = @intCast(u8, typed_value.val.toUnsignedInt(target));
+ const x: u8 = switch (info.signedness) {
+ .unsigned => @intCast(u8, typed_value.val.toUnsignedInt(target)),
+ .signed => @bitCast(u8, @intCast(i8, typed_value.val.toSignedInt())),
+ };
try code.append(x);
return Result{ .appended = {} };
}