authorgravatar for thatlemon@gmail.comLemonBoy <thatlemon@gmail.com> 2020-02-18 22:39:19+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-02-18 18:18:15-05:00
log95a71e29f84573ce72b16406eaf1a6dff96de35f
treeb57f0ed600b2fe270d6d4c010b0c9d88ac0221ad
parentccca4b5a5e98dd96aaeb365af6c1cfbe87dca181
signaturelock-open Commit is signed but in an unrecognized format.

zig fmt: Fix callconv rewriting for extern + string

Closes #4473

2 files changed, 3 insertions(+), 0 deletions(-)

lib/std/zig/parser_test.zig+2
...@@ -92,10 +92,12 @@ test "zig fmt: convert extern/nakedcc/stdcallcc into callconv(...)" {...@@ -92,10 +92,12 @@ test "zig fmt: convert extern/nakedcc/stdcallcc into callconv(...)" {
92 \\nakedcc fn foo1() void {}92 \\nakedcc fn foo1() void {}
93 \\stdcallcc fn foo2() void {}93 \\stdcallcc fn foo2() void {}
94 \\extern fn foo3() void {}94 \\extern fn foo3() void {}
95 \\extern "mylib" fn foo4() void {}
95 ,96 ,
96 \\fn foo1() callconv(.Naked) void {}97 \\fn foo1() callconv(.Naked) void {}
97 \\fn foo2() callconv(.Stdcall) void {}98 \\fn foo2() callconv(.Stdcall) void {}
98 \\fn foo3() callconv(.C) void {}99 \\fn foo3() callconv(.C) void {}
100 \\fn foo4() callconv(.C) void {}
99 \\101 \\
100 );102 );
101}103}
lib/std/zig/render.zig+1
...@@ -1396,6 +1396,7 @@ fn renderExpression(...@@ -1396,6 +1396,7 @@ fn renderExpression(
1396 try renderToken(tree, stream, extern_export_inline_token, indent, start_col, Space.Space); // extern/export1396 try renderToken(tree, stream, extern_export_inline_token, indent, start_col, Space.Space); // extern/export
1397 } else {1397 } else {
1398 cc_rewrite_str = ".C";1398 cc_rewrite_str = ".C";
1399 fn_proto.lib_name = null;
1399 }1400 }
1400 }1401 }
14011402