From 5af7ae1dc45a4adafe72a91c1f849d599a6ff3eb Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 11 Oct 2021 15:50:39 -0700 Subject: stage2: LLVM backend: fix var args function calls --- src/codegen/llvm.zig | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/codegen') 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( -- cgit v1.2.3