diff options
| author | Baitinq <[email protected]> | 2025-05-10 16:05:51 +0200 |
|---|---|---|
| committer | Baitinq <[email protected]> | 2025-05-10 16:05:51 +0200 |
| commit | ff00882673bae48ff2ddbc9f66e79efd624824ef (patch) | |
| tree | 8f885c4914cee352d9a2cabcd80c870b90dddbf5 /src/codegen.zig | |
| parent | Examples: Add example sorting array (diff) | |
| download | interpreter-ff00882673bae48ff2ddbc9f66e79efd624824ef.tar.gz interpreter-ff00882673bae48ff2ddbc9f66e79efd624824ef.tar.bz2 interpreter-ff00882673bae48ff2ddbc9f66e79efd624824ef.zip | |
Feature: Support returning void from functions
Diffstat (limited to '')
| -rw-r--r-- | src/codegen.zig | 7 |
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); } |