commit 982df37135a5ce2e5e93067d716f096ec614f3ef (tree) parent d73b0473a1df98703d5c742d59e57e225cfa7ba4 Author: Timon Kruiper <timonkruiper@gmail.com> Date: Tue, 23 Mar 2021 16:06:15 +0100 stage2: handle void value in genRet in LLVM backend Diffstat:
| M | src/codegen/llvm.zig | | | 5 | +++++ |
1 file changed, 5 insertions(+), 0 deletions(-)
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig @@ -727,6 +727,11 @@ pub const FuncGen = struct { } fn genRet(self: *FuncGen, inst: *Inst.UnOp) !?*const llvm.Value { + if (!inst.operand.ty.hasCodeGenBits()) { + // TODO: in astgen these instructions should turn into `retvoid` instructions. + _ = self.builder.buildRetVoid(); + return null; + } _ = self.builder.buildRet(try self.resolveInst(inst.operand)); return null; }