authorgravatar for codroid@gmail.comhryx <codroid@gmail.com> 2019-06-23 12:46:17-07:00
committergravatar for codroid@gmail.comhryx <codroid@gmail.com> 2019-06-23 12:46:17-07:00
log226a23d97730b5ee0b14d51abb4999e679259ac3
tree57872228c65584f5f9292c09c673fbd179487a2f
parentc423697c78462f4e817869a3b25e72af33ce09ed
signature Commit is signed but in an unrecognized format.

stage1: always render space after `fn` like stage2


2 files changed, 10 insertions(+), 11 deletions(-)

src/ast_render.cpp+1-2
......@@ -444,9 +444,8 @@ static void render_node_extra(AstRender *ar, AstNode *node, bool grouped) {
444444 const char *extern_str = extern_string(node->data.fn_proto.is_extern);
445445 const char *export_str = export_string(node->data.fn_proto.is_export);
446446 const char *inline_str = inline_string(node->data.fn_proto.is_inline);
447 fprintf(ar->f, "%s%s%s%sfn", pub_str, inline_str, export_str, extern_str);
447 fprintf(ar->f, "%s%s%s%sfn ", pub_str, inline_str, export_str, extern_str);
448448 if (node->data.fn_proto.name != nullptr) {
449 fprintf(ar->f, " ");
450449 print_symbol(ar, node->data.fn_proto.name);
451450 }
452451 fprintf(ar->f, "(");
test/translate_c.zig+9-9
......@@ -57,7 +57,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
5757 \\pub extern fn foo() void;
5858 \\pub fn bar() void {
5959 \\ var func_ptr: ?*c_void = @ptrCast(?*c_void, foo);
60 \\ var typed_func_ptr: ?extern fn() void = @intToPtr(?extern fn() void, c_ulong(@ptrToInt(func_ptr)));
60 \\ var typed_func_ptr: ?extern fn () void = @intToPtr(?extern fn () void, c_ulong(@ptrToInt(func_ptr)));
6161 \\}
6262 );
6363
......@@ -357,7 +357,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
357357 \\};
358358 ,
359359 \\pub const struct_Foo = extern struct {
360 \\ derp: ?extern fn([*c]struct_Foo) void,
360 \\ derp: ?extern fn ([*c]struct_Foo) void,
361361 \\};
362362 ,
363363 \\pub const Foo = struct_Foo;
......@@ -440,13 +440,13 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
440440 \\extern char (*fn_ptr2)(int, float);
441441 \\#define bar fn_ptr2
442442 ,
443 \\pub extern var fn_ptr: ?extern fn() void;
443 \\pub extern var fn_ptr: ?extern fn () void;
444444 ,
445445 \\pub inline fn foo() void {
446446 \\ return fn_ptr.?();
447447 \\}
448448 ,
449 \\pub extern var fn_ptr2: ?extern fn(c_int, f32) u8;
449 \\pub extern var fn_ptr2: ?extern fn (c_int, f32) u8;
450450 ,
451451 \\pub inline fn bar(arg0: c_int, arg1: f32) u8 {
452452 \\ return fn_ptr2.?(arg0, arg1);
......@@ -462,7 +462,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
462462 cases.add("__cdecl doesn't mess up function pointers",
463463 \\void foo(void (__cdecl *fn_ptr)(void));
464464 ,
465 \\pub extern fn foo(fn_ptr: ?extern fn() void) void;
465 \\pub extern fn foo(fn_ptr: ?extern fn () void) void;
466466 );
467467
468468 cases.add("comment after integer literal",
......@@ -1209,8 +1209,8 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
12091209 \\ return 0;
12101210 \\}
12111211 \\pub export fn bar() void {
1212 \\ var f: ?extern fn() void = foo;
1213 \\ var b: ?extern fn() c_int = baz;
1212 \\ var f: ?extern fn () void = foo;
1213 \\ var b: ?extern fn () c_int = baz;
12141214 \\ f.?();
12151215 \\ f.?();
12161216 \\ foo();
......@@ -1345,9 +1345,9 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
13451345 ,
13461346 \\pub const GLbitfield = c_uint;
13471347 ,
1348 \\pub const PFNGLCLEARPROC = ?extern fn(GLbitfield) void;
1348 \\pub const PFNGLCLEARPROC = ?extern fn (GLbitfield) void;
13491349 ,
1350 \\pub const OpenGLProc = ?extern fn() void;
1350 \\pub const OpenGLProc = ?extern fn () void;
13511351 ,
13521352 \\pub const union_OpenGLProcs = extern union {
13531353 \\ ptr: [1]OpenGLProc,