aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/llvm.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen/llvm.zig')
-rw-r--r--src/codegen/llvm.zig14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig
index b76a136d6f..458ab093e4 100644
--- a/src/codegen/llvm.zig
+++ b/src/codegen/llvm.zig
@@ -1490,11 +1490,17 @@ pub const FuncGen = struct {
break :blk ret_ptr;
};
- for (args) |arg, i| {
- const param_ty = fn_info.param_types[i];
- if (!param_ty.hasCodeGenBits()) continue;
+ if (fn_info.is_var_args) {
+ for (args) |arg| {
+ try llvm_args.append(try self.resolveInst(arg));
+ }
+ } else {
+ for (args) |arg, i| {
+ const param_ty = fn_info.param_types[i];
+ if (!param_ty.hasCodeGenBits()) continue;
- try llvm_args.append(try self.resolveInst(arg));
+ try llvm_args.append(try self.resolveInst(arg));
+ }
}
const call = self.builder.buildCall(