| ... | @@ -592,19 +592,15 @@ fn visitFnDecl(c: *Context, fn_decl: *const ZigClangFunctionDecl) Error!void { | ... | @@ -592,19 +592,15 @@ fn visitFnDecl(c: *Context, fn_decl: *const ZigClangFunctionDecl) Error!void { |
| 592 | } else | 592 | } else |
| 593 | return failDecl(c, fn_decl_loc, fn_name, "function {} parameter has no name", .{fn_name}); | 593 | return failDecl(c, fn_decl_loc, fn_name, "function {} parameter has no name", .{fn_name}); |
| 594 | | 594 | |
| 595 | const mangled_param_name = try block_scope.makeMangledName(c, param_name); | | |
| 596 | | | |
| 597 | const c_param = ZigClangFunctionDecl_getParamDecl(fn_decl, param_id); | 595 | const c_param = ZigClangFunctionDecl_getParamDecl(fn_decl, param_id); |
| 598 | const qual_type = ZigClangParmVarDecl_getOriginalType(c_param); | 596 | const qual_type = ZigClangParmVarDecl_getOriginalType(c_param); |
| 599 | const is_const = ZigClangQualType_isConstQualified(qual_type); | 597 | const is_const = ZigClangQualType_isConstQualified(qual_type); |
| 600 | | 598 | |
| 601 | const arg_name = blk: { | 599 | const mangled_param_name = try block_scope.makeMangledName(c, param_name); |
| 602 | const param_prefix = if (is_const) "" else "arg_"; | | |
| 603 | const bare_arg_name = try std.fmt.allocPrint(c.arena, "{}{}", .{ param_prefix, mangled_param_name }); | | |
| 604 | break :blk try block_scope.makeMangledName(c, bare_arg_name); | | |
| 605 | }; | | |
| 606 | | 600 | |
| 607 | if (!is_const) { | 601 | if (!is_const) { |
| | 602 | const bare_arg_name = try std.fmt.allocPrint(c.arena, "arg_{}", .{ mangled_param_name }); |
| | 603 | const arg_name = try block_scope.makeMangledName(c, bare_arg_name); |
| 608 | const node = try transCreateNodeVarDecl(c, false, false, mangled_param_name); | 604 | const node = try transCreateNodeVarDecl(c, false, false, mangled_param_name); |
| 609 | node.eq_token = try appendToken(c, .Equal, "="); | 605 | node.eq_token = try appendToken(c, .Equal, "="); |
| 610 | node.init_node = try transCreateNodeIdentifier(c, arg_name); | 606 | node.init_node = try transCreateNodeIdentifier(c, arg_name); |