authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2020-05-16 13:05:43+03:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2020-05-16 13:05:43+03:00
log5ac684ec502096196f05a1c6ed1841b886d6db92
tree07c106504da9fc77872fda4133a62ea0cb4cfed2
parenta05011d403d084d75b3a3d8a5a38fa0a4bfe3380
signaturelock-open Commit is signed but in an unrecognized format.

fix building translate-c


1 files changed, 5 insertions(+), 9 deletions(-)

src-self-hosted/translate_c.zig+5-9
...@@ -501,7 +501,7 @@ fn visitFnDecl(c: *Context, fn_decl: *const ZigClangFunctionDecl) Error!void {...@@ -501,7 +501,7 @@ fn visitFnDecl(c: *Context, fn_decl: *const ZigClangFunctionDecl) Error!void {
501 const param = @fieldParentPtr(ast.Node.ParamDecl, "base", p.*);501 const param = @fieldParentPtr(ast.Node.ParamDecl, "base", p.*);
502 const param_name = if (param.name_token) |name_tok|502 const param_name = if (param.name_token) |name_tok|
503 tokenSlice(c, name_tok)503 tokenSlice(c, name_tok)
504 else if (param.var_args_token != null) {504 else if (param.param_type == .var_args) {
505 assert(it.next() == null);505 assert(it.next() == null);
506 _ = proto_node.params.pop();506 _ = proto_node.params.pop();
507 break;507 break;
...@@ -4103,8 +4103,7 @@ fn transCreateNodeMacroFn(c: *Context, name: []const u8, ref: *ast.Node, proto_a...@@ -4103,8 +4103,7 @@ fn transCreateNodeMacroFn(c: *Context, name: []const u8, ref: *ast.Node, proto_a
4103 .comptime_token = null,4103 .comptime_token = null,
4104 .noalias_token = param.noalias_token,4104 .noalias_token = param.noalias_token,
4105 .name_token = param_name_tok,4105 .name_token = param_name_tok,
4106 .type_node = param.type_node,4106 .param_type = param.param_type,
4107 .var_args_token = null,
4108 };4107 };
4109 try fn_params.push(&param_node.base);4108 try fn_params.push(&param_node.base);
4110 }4109 }
...@@ -4678,8 +4677,7 @@ fn finishTransFnProto(...@@ -4678,8 +4677,7 @@ fn finishTransFnProto(
4678 .comptime_token = null,4677 .comptime_token = null,
4679 .noalias_token = noalias_tok,4678 .noalias_token = noalias_tok,
4680 .name_token = param_name_tok,4679 .name_token = param_name_tok,
4681 .type_node = type_node,4680 .param_type = .{ .type_expr = type_node },
4682 .var_args_token = null,
4683 };4681 };
4684 try fn_params.push(&param_node.base);4682 try fn_params.push(&param_node.base);
46854683
...@@ -4699,8 +4697,7 @@ fn finishTransFnProto(...@@ -4699,8 +4697,7 @@ fn finishTransFnProto(
4699 .comptime_token = null,4697 .comptime_token = null,
4700 .noalias_token = null,4698 .noalias_token = null,
4701 .name_token = null,4699 .name_token = null,
4702 .type_node = undefined, // Note: Accessing this causes an access violation. Need to check .var_args_token first before trying this field4700 .param_type = .{ .var_args = try appendToken(rp.c, .Ellipsis3, "...") }
4703 .var_args_token = try appendToken(rp.c, .Ellipsis3, "..."),
4704 };4701 };
4705 try fn_params.push(&var_arg_node.base);4702 try fn_params.push(&var_arg_node.base);
4706 }4703 }
...@@ -5108,8 +5105,7 @@ fn transMacroFnDefine(c: *Context, it: *CTokenList.Iterator, source: []const u8,...@@ -5108,8 +5105,7 @@ fn transMacroFnDefine(c: *Context, it: *CTokenList.Iterator, source: []const u8,
5108 .comptime_token = null,5105 .comptime_token = null,
5109 .noalias_token = null,5106 .noalias_token = null,
5110 .name_token = param_name_tok,5107 .name_token = param_name_tok,
5111 .type_node = &identifier.base,5108 .param_type = .{ .type_expr = &identifier.base },
5112 .var_args_token = null,
5113 };5109 };
5114 try fn_params.push(&param_node.base);5110 try fn_params.push(&param_node.base);
51155111