about summary refs log tree commit diff
path: root/src/codegen.zig
diff options
context:
space:
mode:
authorBaitinq <[email protected]>2025-05-10 16:15:42 +0200
committerBaitinq <[email protected]>2025-05-10 16:15:42 +0200
commit3a6e4186d163c7416991453637449b1e3bce9f3a (patch)
tree0f34592c6c7801700d1a93cf75a01cb6f30521e0 /src/codegen.zig
parentFeature: Support returning void from functions (diff)
downloadinterpreter-3a6e4186d163c7416991453637449b1e3bce9f3a.tar.gz
interpreter-3a6e4186d163c7416991453637449b1e3bce9f3a.tar.bz2
interpreter-3a6e4186d163c7416991453637449b1e3bce9f3a.zip
Codegen: Add varags hack for use in params
Diffstat (limited to 'src/codegen.zig')
-rw-r--r--src/codegen.zig1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index 05d31e9..f312a0d 100644
--- a/src/codegen.zig
+++ b/src/codegen.zig
@@ -624,6 +624,7 @@ pub const CodeGen = struct {
                 if (std.mem.eql(u8, t.name, "i64")) return llvm.LLVMInt64Type();
                 if (std.mem.eql(u8, t.name, "bool")) return llvm.LLVMInt1Type();
                 if (std.mem.eql(u8, t.name, "void")) return llvm.LLVMVoidType();
+                if (std.mem.eql(u8, t.name, "varargs")) return llvm.LLVMPointerType(llvm.LLVMInt64Type(), 0); // Hack for varargs (only used for printf)
                 unreachable;
             },
             .FUNCTION_TYPE => |t| {