authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-02-21 18:31:32-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-02-21 18:31:32-07:00
loga17a5ca3a85c92aa933a8eaac66198b31b8b294c
treecec889e0e41891aef7a26f37dfb7cb15f94c48b2
parentc6efb23796053a4409b0cf7b6abb4044719779aa

translate-c: fix fn_decl vs fn_proto

Regressed in 15603f403c9ca91f7530798a5a7751cace284a28.

2 files changed, 9 insertions(+), 8 deletions(-)

src/translate_c/ast.zig+7-7
...@@ -2407,13 +2407,13 @@ fn renderFunc(c: *Context, node: Node) !NodeIndex {...@@ -2407,13 +2407,13 @@ fn renderFunc(c: *Context, node: Node) !NodeIndex {
2407 });2407 });
2408 };2408 };
24092409
2410 const body = if (payload.body) |some|2410 const payload_body = payload.body orelse {
2411 try renderNode(c, some)2411 if (payload.is_extern) {
2412 else if (payload.is_extern) blk: {2412 _ = try c.addToken(.semicolon, ";");
2413 _ = try c.addToken(.semicolon, ";");2413 }
2414 break :blk 0;2414 return fn_proto;
2415 } else return fn_proto;2415 };
24162416 const body = try renderNode(c, payload_body);
2417 return c.addNode(.{2417 return c.addNode(.{
2418 .tag = .fn_decl,2418 .tag = .fn_decl,
2419 .main_token = fn_token,2419 .main_token = fn_token,
test/translate_c.zig+2-1
...@@ -3117,7 +3117,8 @@ pub fn addCases(cases: *tests.TranslateCContext) void {...@@ -3117,7 +3117,8 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
3117 \\}3117 \\}
3118 });3118 });
31193119
3120 // TODO fix zig fmt here3120 // TODO fix zig fmt here - it incorrectly inserts an additional indentation
3121 // level inside blk_1.
3121 // cases.add("nested assignment",3122 // cases.add("nested assignment",
3122 // \\int foo(int *p, int x) {3123 // \\int foo(int *p, int x) {
3123 // \\ return *p++ = x;3124 // \\ return *p++ = x;