authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2019-12-05 14:45:36+02:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2019-12-05 14:50:46+02:00
log10cc8cad86a39dd0f6d707c3ec30f490ba071230
treed144fd9a64c203edd32b3fa9e5b2b739a649193d
parentbef3769bb7a8d5e83ffc8359461232c9b21f6431
signature Commit is signed but in an unrecognized format.

fix zig fmt of c pointers


3 files changed, 14 insertions(+), 4 deletions(-)

lib/std/zig/parse.zig+1-1
...@@ -2558,7 +2558,7 @@ fn parsePtrTypeStart(arena: *Allocator, it: *TokenIterator, tree: *Tree) !?*Node...@@ -2558,7 +2558,7 @@ fn parsePtrTypeStart(arena: *Allocator, it: *TokenIterator, tree: *Tree) !?*Node
2558 _ = try expectToken(it, tree, .RBracket);2558 _ = try expectToken(it, tree, .RBracket);
2559 const node = try arena.create(Node.PrefixOp);2559 const node = try arena.create(Node.PrefixOp);
2560 node.* = .{2560 node.* = .{
2561 .op_token = ident,2561 .op_token = lbracket,
2562 .op = .{ .PtrType = .{} },2562 .op = .{ .PtrType = .{} },
2563 .rhs = undefined, // set by caller2563 .rhs = undefined, // set by caller
2564 };2564 };
lib/std/zig/parser_test.zig+8
...@@ -1,3 +1,10 @@...@@ -1,3 +1,10 @@
1test "zig fmt: c pointer type" {
2 try testCanonical(
3 \\pub extern fn repro() [*c]const u8;
4 \\
5 );
6}
7
1test "zig fmt: asm expression with comptime content" {8test "zig fmt: asm expression with comptime content" {
2 try testCanonical(9 try testCanonical(
3 \\comptime {10 \\comptime {
...@@ -21,6 +28,7 @@ test "zig fmt: asm expression with comptime content" {...@@ -21,6 +28,7 @@ test "zig fmt: asm expression with comptime content" {
21 \\28 \\
22 );29 );
23}30}
31
24test "zig fmt: var struct field" {32test "zig fmt: var struct field" {
25 try testCanonical(33 try testCanonical(
26 \\pub const Pointer = struct {34 \\pub const Pointer = struct {
lib/std/zig/render.zig+5-3
...@@ -421,8 +421,10 @@ fn renderExpression(...@@ -421,8 +421,10 @@ fn renderExpression(
421 const op_tok_id = tree.tokens.at(prefix_op_node.op_token).id;421 const op_tok_id = tree.tokens.at(prefix_op_node.op_token).id;
422 switch (op_tok_id) {422 switch (op_tok_id) {
423 .Asterisk, .AsteriskAsterisk => try stream.writeByte('*'),423 .Asterisk, .AsteriskAsterisk => try stream.writeByte('*'),
424 .Identifier => try stream.write("[*c]"),424 .LBracket => if (tree.tokens.at(prefix_op_node.op_token + 2).id == .Identifier)
425 .LBracket => try stream.write("[*"),425 try stream.write("[*c")
426 else
427 try stream.write("[*"),
426 else => unreachable,428 else => unreachable,
427 }429 }
428 if (ptr_info.sentinel) |sentinel| {430 if (ptr_info.sentinel) |sentinel| {
...@@ -435,7 +437,7 @@ fn renderExpression(...@@ -435,7 +437,7 @@ fn renderExpression(
435 try renderExpression(allocator, stream, tree, indent, start_col, sentinel, sentinel_space);437 try renderExpression(allocator, stream, tree, indent, start_col, sentinel, sentinel_space);
436 }438 }
437 switch (op_tok_id) {439 switch (op_tok_id) {
438 .Asterisk, .AsteriskAsterisk, .Identifier => {},440 .Asterisk, .AsteriskAsterisk => {},
439 .LBracket => try stream.writeByte(']'),441 .LBracket => try stream.writeByte(']'),
440 else => unreachable,442 else => unreachable,
441 }443 }