diff options
| author | Luuk de Gram <luuk@degram.dev> | 2023-10-08 15:18:40 +0200 |
|---|---|---|
| committer | Luuk de Gram <luuk@degram.dev> | 2023-10-08 15:18:40 +0200 |
| commit | 8e836cb59a63449bc4d3e82df4e35f947ceace39 (patch) | |
| tree | d798c81f001047a5e2ee7fd2c7e32a07dc1e4d34 /src | |
| parent | a9b37ac63724a79805f00b4e6966ebb8329151a2 (diff) | |
| download | zig-8e836cb59a63449bc4d3e82df4e35f947ceace39.tar.gz zig-8e836cb59a63449bc4d3e82df4e35f947ceace39.zip | |
wasm: correctly lower signed value in `@tagName`
Diffstat (limited to 'src')
| -rw-r--r-- | src/arch/wasm/CodeGen.zig | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/arch/wasm/CodeGen.zig b/src/arch/wasm/CodeGen.zig index 49754f03f6..922fc4db07 100644 --- a/src/arch/wasm/CodeGen.zig +++ b/src/arch/wasm/CodeGen.zig @@ -7215,12 +7215,12 @@ fn getTagNameFunction(func: *CodeGen, enum_ty: Type) InnerError!u32 { switch (tag_value) { .imm32 => |value| { try writer.writeByte(std.wasm.opcode(.i32_const)); - try leb.writeULEB128(writer, value); + try leb.writeILEB128(writer, @as(i32, @bitCast(value))); try writer.writeByte(std.wasm.opcode(.i32_ne)); }, .imm64 => |value| { try writer.writeByte(std.wasm.opcode(.i64_const)); - try leb.writeULEB128(writer, value); + try leb.writeILEB128(writer, @as(i64, @bitCast(value))); try writer.writeByte(std.wasm.opcode(.i64_ne)); }, else => unreachable, |
