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) {...@@ -444,9 +444,8 @@ static void render_node_extra(AstRender *ar, AstNode *node, bool grouped) {
444 const char *extern_str = extern_string(node->data.fn_proto.is_extern);444 const char *extern_str = extern_string(node->data.fn_proto.is_extern);
445 const char *export_str = export_string(node->data.fn_proto.is_export);445 const char *export_str = export_string(node->data.fn_proto.is_export);
446 const char *inline_str = inline_string(node->data.fn_proto.is_inline);446 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);
448 if (node->data.fn_proto.name != nullptr) {448 if (node->data.fn_proto.name != nullptr) {
449 fprintf(ar->f, " ");
450 print_symbol(ar, node->data.fn_proto.name);449 print_symbol(ar, node->data.fn_proto.name);
451 }450 }
452 fprintf(ar->f, "(");451 fprintf(ar->f, "(");
test/translate_c.zig+9-9
...@@ -57,7 +57,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void {...@@ -57,7 +57,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
57 \\pub extern fn foo() void;57 \\pub extern fn foo() void;
58 \\pub fn bar() void {58 \\pub fn bar() void {
59 \\ var func_ptr: ?*c_void = @ptrCast(?*c_void, foo);59 \\ 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)));
61 \\}61 \\}
62 );62 );
6363
...@@ -357,7 +357,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void {...@@ -357,7 +357,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
357 \\};357 \\};
358 ,358 ,
359 \\pub const struct_Foo = extern struct {359 \\pub const struct_Foo = extern struct {
360 \\ derp: ?extern fn([*c]struct_Foo) void,360 \\ derp: ?extern fn ([*c]struct_Foo) void,
361 \\};361 \\};
362 ,362 ,
363 \\pub const Foo = struct_Foo;363 \\pub const Foo = struct_Foo;
...@@ -440,13 +440,13 @@ pub fn addCases(cases: *tests.TranslateCContext) void {...@@ -440,13 +440,13 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
440 \\extern char (*fn_ptr2)(int, float);440 \\extern char (*fn_ptr2)(int, float);
441 \\#define bar fn_ptr2441 \\#define bar fn_ptr2
442 ,442 ,
443 \\pub extern var fn_ptr: ?extern fn() void;443 \\pub extern var fn_ptr: ?extern fn () void;
444 ,444 ,
445 \\pub inline fn foo() void {445 \\pub inline fn foo() void {
446 \\ return fn_ptr.?();446 \\ return fn_ptr.?();
447 \\}447 \\}
448 ,448 ,
449 \\pub extern var fn_ptr2: ?extern fn(c_int, f32) u8;449 \\pub extern var fn_ptr2: ?extern fn (c_int, f32) u8;
450 ,450 ,
451 \\pub inline fn bar(arg0: c_int, arg1: f32) u8 {451 \\pub inline fn bar(arg0: c_int, arg1: f32) u8 {
452 \\ return fn_ptr2.?(arg0, arg1);452 \\ return fn_ptr2.?(arg0, arg1);
...@@ -462,7 +462,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void {...@@ -462,7 +462,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
462 cases.add("__cdecl doesn't mess up function pointers",462 cases.add("__cdecl doesn't mess up function pointers",
463 \\void foo(void (__cdecl *fn_ptr)(void));463 \\void foo(void (__cdecl *fn_ptr)(void));
464 ,464 ,
465 \\pub extern fn foo(fn_ptr: ?extern fn() void) void;465 \\pub extern fn foo(fn_ptr: ?extern fn () void) void;
466 );466 );
467467
468 cases.add("comment after integer literal",468 cases.add("comment after integer literal",
...@@ -1209,8 +1209,8 @@ pub fn addCases(cases: *tests.TranslateCContext) void {...@@ -1209,8 +1209,8 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
1209 \\ return 0;1209 \\ return 0;
1210 \\}1210 \\}
1211 \\pub export fn bar() void {1211 \\pub export fn bar() void {
1212 \\ var f: ?extern fn() void = foo;1212 \\ var f: ?extern fn () void = foo;
1213 \\ var b: ?extern fn() c_int = baz;1213 \\ var b: ?extern fn () c_int = baz;
1214 \\ f.?();1214 \\ f.?();
1215 \\ f.?();1215 \\ f.?();
1216 \\ foo();1216 \\ foo();
...@@ -1345,9 +1345,9 @@ pub fn addCases(cases: *tests.TranslateCContext) void {...@@ -1345,9 +1345,9 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
1345 ,1345 ,
1346 \\pub const GLbitfield = c_uint;1346 \\pub const GLbitfield = c_uint;
1347 ,1347 ,
1348 \\pub const PFNGLCLEARPROC = ?extern fn(GLbitfield) void;1348 \\pub const PFNGLCLEARPROC = ?extern fn (GLbitfield) void;
1349 ,1349 ,
1350 \\pub const OpenGLProc = ?extern fn() void;1350 \\pub const OpenGLProc = ?extern fn () void;
1351 ,1351 ,
1352 \\pub const union_OpenGLProcs = extern union {1352 \\pub const union_OpenGLProcs = extern union {
1353 \\ ptr: [1]OpenGLProc,1353 \\ ptr: [1]OpenGLProc,