aboutsummaryrefslogtreecommitdiff
path: root/src/translate_c
diff options
context:
space:
mode:
authorIsaac Freund <ifreund@ifreund.xyz>2021-05-20 21:58:39 +0200
committerIsaac Freund <ifreund@ifreund.xyz>2021-05-20 21:59:46 +0200
commit563ea60a86a733f53f2394a11cb9ec4e56063fa3 (patch)
treeea6355892f8fa02ef972d6651551eec513d290ed /src/translate_c
parent5b850d5c9251900962e52154eb0fb9c2a344476d (diff)
downloadzig-563ea60a86a733f53f2394a11cb9ec4e56063fa3.tar.gz
zig-563ea60a86a733f53f2394a11cb9ec4e56063fa3.zip
translate-c: use inline keyword instead of callconv(.Inline)
Diffstat (limited to 'src/translate_c')
-rw-r--r--src/translate_c/ast.zig46
1 files changed, 14 insertions, 32 deletions
diff --git a/src/translate_c/ast.zig b/src/translate_c/ast.zig
index 60b1b6f93d..0ea997e177 100644
--- a/src/translate_c/ast.zig
+++ b/src/translate_c/ast.zig
@@ -2689,6 +2689,7 @@ fn renderFunc(c: *Context, node: Node) !NodeIndex {
fn renderMacroFunc(c: *Context, node: Node) !NodeIndex {
const payload = node.castTag(.pub_inline_fn).?.data;
_ = try c.addToken(.keyword_pub, "pub");
+ _ = try c.addToken(.keyword_inline, "inline");
const fn_token = try c.addToken(.keyword_fn, "fn");
_ = try c.addIdentifier(payload.name);
@@ -2697,50 +2698,31 @@ fn renderMacroFunc(c: *Context, node: Node) !NodeIndex {
var span: NodeSubRange = undefined;
if (params.items.len > 1) span = try c.listToSpan(params.items);
- const callconv_expr = blk: {
- _ = try c.addToken(.keyword_callconv, "callconv");
- _ = try c.addToken(.l_paren, "(");
- _ = try c.addToken(.period, ".");
- const res = try c.addNode(.{
- .tag = .enum_literal,
- .main_token = try c.addToken(.identifier, "Inline"),
- .data = undefined,
- });
- _ = try c.addToken(.r_paren, ")");
- break :blk res;
- };
const return_type_expr = try renderNodeGrouped(c, payload.return_type);
- const fn_proto = try blk: {
- if (params.items.len < 2)
- break :blk c.addNode(.{
- .tag = .fn_proto_one,
+ const fn_proto = blk: {
+ if (params.items.len < 2) {
+ break :blk try c.addNode(.{
+ .tag = .fn_proto_simple,
.main_token = fn_token,
.data = .{
- .lhs = try c.addExtra(std.zig.ast.Node.FnProtoOne{
- .param = params.items[0],
- .align_expr = 0,
- .section_expr = 0,
- .callconv_expr = callconv_expr,
- }),
+ .lhs = params.items[0],
.rhs = return_type_expr,
},
- })
- else
- break :blk c.addNode(.{
- .tag = .fn_proto,
+ });
+ } else {
+ break :blk try c.addNode(.{
+ .tag = .fn_proto_multi,
.main_token = fn_token,
.data = .{
- .lhs = try c.addExtra(std.zig.ast.Node.FnProto{
- .params_start = span.start,
- .params_end = span.end,
- .align_expr = 0,
- .section_expr = 0,
- .callconv_expr = callconv_expr,
+ .lhs = try c.addExtra(std.zig.ast.Node.SubRange{
+ .start = span.start,
+ .end = span.end,
}),
.rhs = return_type_expr,
},
});
+ }
};
return c.addNode(.{
.tag = .fn_decl,