| ... | ... | @@ -477,8 +477,14 @@ fn visitFnDecl(c: *Context, fn_decl: *const ZigClangFunctionDecl) Error!void { |
| 477 | 477 | var it = proto_node.params.iterator(0); |
| 478 | 478 | while (it.next()) |p| { |
| 479 | 479 | const param = @fieldParentPtr(ast.Node.ParamDecl, "base", p.*); |
| 480 | | const param_name = tokenSlice(c, param.name_token orelse |
| 481 | | return failDecl(c, fn_decl_loc, fn_name, "function {} parameter has no name", .{fn_name})); |
| 480 | const param_name = if (param.name_token) |name_tok| |
| 481 | tokenSlice(c, name_tok) |
| 482 | else if (param.var_args_token != null) { |
| 483 | assert(it.next() == null); |
| 484 | _ = proto_node.params.pop(); |
| 485 | break; |
| 486 | } else |
| 487 | return failDecl(c, fn_decl_loc, fn_name, "function {} parameter has no name", .{fn_name}); |
| 482 | 488 | |
| 483 | 489 | const mangled_param_name = try block_scope.makeMangledName(c, param_name); |
| 484 | 490 | |