mirror of
https://github.com/odin-lang/Odin.git
synced 2026-04-29 01:33:56 +00:00
@@ -1073,6 +1073,7 @@ gb_internal lbValue lb_emit_call(lbProcedure *p, lbValue value, Array<lbValue> c
|
||||
|
||||
lbValue result = {};
|
||||
|
||||
isize ignored_args = 0;
|
||||
auto processed_args = array_make<lbValue>(permanent_allocator(), 0, args.count);
|
||||
|
||||
{
|
||||
@@ -1095,6 +1096,7 @@ gb_internal lbValue lb_emit_call(lbProcedure *p, lbValue value, Array<lbValue> c
|
||||
lbArgType *arg = &ft->args[param_index];
|
||||
if (arg->kind == lbArg_Ignore) {
|
||||
param_index += 1;
|
||||
ignored_args += 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1203,7 +1205,7 @@ gb_internal lbValue lb_emit_call(lbProcedure *p, lbValue value, Array<lbValue> c
|
||||
auto tuple_fix_values = slice_make<lbValue>(permanent_allocator(), ret_count);
|
||||
auto tuple_geps = slice_make<lbValue>(permanent_allocator(), ret_count);
|
||||
|
||||
isize offset = ft->original_arg_count;
|
||||
isize offset = ft->original_arg_count - ignored_args;
|
||||
for (isize j = 0; j < ret_count-1; j++) {
|
||||
lbValue ret_arg_ptr = processed_args[offset + j];
|
||||
lbValue ret_arg = lb_emit_load(p, ret_arg_ptr);
|
||||
|
||||
Reference in New Issue
Block a user