about summary refs log tree commit diff
path: root/src/codegen.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen.zig')
-rw-r--r--src/codegen.zig7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index 38febe6..05d31e9 100644
--- a/src/codegen.zig
+++ b/src/codegen.zig
@@ -235,7 +235,12 @@ pub const CodeGen = struct {
 
         const expression = statement.RETURN_STATEMENT.expression;
 
-        const val = try self.generate_expression_value(expression, null);
+        if (expression == null) {
+            _ = llvm.LLVMBuildRetVoid(self.builder);
+            return;
+        }
+
+        const val = try self.generate_expression_value(expression.?, null);
         _ = llvm.LLVMBuildRet(self.builder, val.value);
     }