aboutsummaryrefslogtreecommitdiff
path: root/src-self-hosted
diff options
context:
space:
mode:
authorVexu <git@vexu.eu>2020-05-16 13:05:43 +0300
committerVexu <git@vexu.eu>2020-05-16 13:05:43 +0300
commit5ac684ec502096196f05a1c6ed1841b886d6db92 (patch)
tree07c106504da9fc77872fda4133a62ea0cb4cfed2 /src-self-hosted
parenta05011d403d084d75b3a3d8a5a38fa0a4bfe3380 (diff)
downloadzig-5ac684ec502096196f05a1c6ed1841b886d6db92.tar.gz
zig-5ac684ec502096196f05a1c6ed1841b886d6db92.zip
fix building translate-c
Diffstat (limited to 'src-self-hosted')
-rw-r--r--src-self-hosted/translate_c.zig14
1 files changed, 5 insertions, 9 deletions
diff --git a/src-self-hosted/translate_c.zig b/src-self-hosted/translate_c.zig
index 0b4854dcdc..70b74d1886 100644
--- a/src-self-hosted/translate_c.zig
+++ b/src-self-hosted/translate_c.zig
@@ -501,7 +501,7 @@ fn visitFnDecl(c: *Context, fn_decl: *const ZigClangFunctionDecl) Error!void {
const param = @fieldParentPtr(ast.Node.ParamDecl, "base", p.*);
const param_name = if (param.name_token) |name_tok|
tokenSlice(c, name_tok)
- else if (param.var_args_token != null) {
+ else if (param.param_type == .var_args) {
assert(it.next() == null);
_ = proto_node.params.pop();
break;
@@ -4103,8 +4103,7 @@ fn transCreateNodeMacroFn(c: *Context, name: []const u8, ref: *ast.Node, proto_a
.comptime_token = null,
.noalias_token = param.noalias_token,
.name_token = param_name_tok,
- .type_node = param.type_node,
- .var_args_token = null,
+ .param_type = param.param_type,
};
try fn_params.push(&param_node.base);
}
@@ -4678,8 +4677,7 @@ fn finishTransFnProto(
.comptime_token = null,
.noalias_token = noalias_tok,
.name_token = param_name_tok,
- .type_node = type_node,
- .var_args_token = null,
+ .param_type = .{ .type_expr = type_node },
};
try fn_params.push(&param_node.base);
@@ -4699,8 +4697,7 @@ fn finishTransFnProto(
.comptime_token = null,
.noalias_token = null,
.name_token = null,
- .type_node = undefined, // Note: Accessing this causes an access violation. Need to check .var_args_token first before trying this field
- .var_args_token = try appendToken(rp.c, .Ellipsis3, "..."),
+ .param_type = .{ .var_args = try appendToken(rp.c, .Ellipsis3, "...") }
};
try fn_params.push(&var_arg_node.base);
}
@@ -5108,8 +5105,7 @@ fn transMacroFnDefine(c: *Context, it: *CTokenList.Iterator, source: []const u8,
.comptime_token = null,
.noalias_token = null,
.name_token = param_name_tok,
- .type_node = &identifier.base,
- .var_args_token = null,
+ .param_type = .{ .type_expr = &identifier.base },
};
try fn_params.push(&param_node.base);