authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-05-21 00:30:08-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-05-21 00:30:08-04:00
log32ecb416f3acc49b80268711562f2c4133a828b9
tree6b75b14868ae38baaf646e1a9d427a28bbf07674
parente694cd265ad762e1db037e191edfa2f0601126a9

fix compile errors when setting NodeIndex/TokenIndex to u32


1 files changed, 14 insertions(+), 7 deletions(-)

lib/std/zig/parse.zig+14-7
......@@ -6,6 +6,7 @@ const Node = ast.Node;
66const Tree = ast.Tree;
77const AstError = ast.Error;
88const TokenIndex = ast.TokenIndex;
9const NodeIndex = ast.NodeIndex;
910const Token = std.zig.Token;
1011
1112pub const Error = error{ParseError} || Allocator.Error;
......@@ -70,7 +71,8 @@ const Parser = struct {
7071 // invalid tokens as it can so this can only be the EOF
7172 const eof_token = p.eatToken(.Eof).?;
7273
73 const node = try Node.Root.create(&p.arena.allocator, decls.len, eof_token);
74 const decls_len = @intCast(NodeIndex, decls.len);
75 const node = try Node.Root.create(&p.arena.allocator, decls_len, eof_token);
7476 std.mem.copy(*Node, node.decls(), decls);
7577
7678 return node;
......@@ -545,13 +547,15 @@ const Parser = struct {
545547 else
546548 R{ .Explicit = return_type_expr.? };
547549
548 const fn_proto_node = try Node.FnProto.alloc(&p.arena.allocator, params.len);
550 const params_len = @intCast(NodeIndex, params.len);
551
552 const fn_proto_node = try Node.FnProto.alloc(&p.arena.allocator, params_len);
549553 fn_proto_node.* = .{
550554 .doc_comments = null,
551555 .visib_token = null,
552556 .fn_token = fn_token,
553557 .name_token = name_token,
554 .params_len = params.len,
558 .params_len = params_len,
555559 .return_type = return_type,
556560 .var_args_token = var_args_token,
557561 .extern_export_inline_token = null,
......@@ -1195,11 +1199,13 @@ const Parser = struct {
11951199
11961200 const rbrace = try p.expectToken(.RBrace);
11971201
1198 const block_node = try Node.Block.alloc(&p.arena.allocator, statements.items.len);
1202 const statements_len = @intCast(NodeIndex, statements.items.len);
1203
1204 const block_node = try Node.Block.alloc(&p.arena.allocator, statements_len);
11991205 block_node.* = .{
12001206 .label = null,
12011207 .lbrace = lbrace,
1202 .statements_len = statements.items.len,
1208 .statements_len = statements_len,
12031209 .rbrace = rbrace,
12041210 };
12051211 std.mem.copy(*Node, block_node.statements(), statements.items);
......@@ -2844,12 +2850,13 @@ const Parser = struct {
28442850 defer p.gpa.free(members);
28452851 const rbrace = try p.expectToken(.RBrace);
28462852
2847 const node = try Node.ContainerDecl.alloc(&p.arena.allocator, members.len);
2853 const members_len = @intCast(NodeIndex, members.len);
2854 const node = try Node.ContainerDecl.alloc(&p.arena.allocator, members_len);
28482855 node.* = .{
28492856 .layout_token = null,
28502857 .kind_token = container_decl_type.kind_token,
28512858 .init_arg_expr = container_decl_type.init_arg_expr,
2852 .fields_and_decls_len = members.len,
2859 .fields_and_decls_len = members_len,
28532860 .lbrace_token = lbrace,
28542861 .rbrace_token = rbrace,
28552862 };