From 982df37135a5ce2e5e93067d716f096ec614f3ef Mon Sep 17 00:00:00 2001 From: Timon Kruiper Date: Tue, 23 Mar 2021 16:06:15 +0100 Subject: stage2: handle void value in genRet in LLVM backend --- src/codegen/llvm.zig | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/codegen/llvm.zig') diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index e78bd8d103..cd601debda 100644 --- 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; } -- cgit v1.2.3