authorgravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2021-08-29 19:41:57+02:00
committergravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2021-09-20 02:29:04+02:00
log68fcbb5c0d5ece02876824a8be0e18b306954e26
tree4db1d509c6a6ebf2a03b826d230e4af9935e4539
parentea393b2bca7587955df81d149caecc5522944d15

Address Spaces: fmt a bunch of stuff


5 files changed, 12 insertions(+), 11 deletions(-)

lib/std/zig/render.zig+2-1
...@@ -958,7 +958,8 @@ fn renderVarDecl(gpa: *Allocator, ais: *Ais, tree: Ast, var_decl: Ast.full.VarDe...@@ -958,7 +958,8 @@ fn renderVarDecl(gpa: *Allocator, ais: *Ais, tree: Ast, var_decl: Ast.full.VarDe
958 try renderToken(ais, tree, lparen, Space.none); // (958 try renderToken(ais, tree, lparen, Space.none); // (
959 try renderExpression(gpa, ais, tree, var_decl.ast.align_node, Space.none);959 try renderExpression(gpa, ais, tree, var_decl.ast.align_node, Space.none);
960 if (var_decl.ast.addrspace_node != 0 or var_decl.ast.section_node != 0 or960 if (var_decl.ast.addrspace_node != 0 or var_decl.ast.section_node != 0 or
961 var_decl.ast.init_node != 0) {961 var_decl.ast.init_node != 0)
962 {
962 try renderToken(ais, tree, rparen, .space); // )963 try renderToken(ais, tree, rparen, .space); // )
963 } else {964 } else {
964 try renderToken(ais, tree, rparen, .none); // )965 try renderToken(ais, tree, rparen, .none); // )
src/AstGen.zig+2-2
...@@ -2393,11 +2393,11 @@ fn varDecl(...@@ -2393,11 +2393,11 @@ fn varDecl(
2393 }2393 }
23942394
2395 if (var_decl.ast.addrspace_node != 0) {2395 if (var_decl.ast.addrspace_node != 0) {
2396 return astgen.failTok(main_tokens[var_decl.ast.addrspace_node], "cannot set address space of local variable '{s}'", .{ ident_name_raw });2396 return astgen.failTok(main_tokens[var_decl.ast.addrspace_node], "cannot set address space of local variable '{s}'", .{ident_name_raw});
2397 }2397 }
23982398
2399 if (var_decl.ast.section_node != 0) {2399 if (var_decl.ast.section_node != 0) {
2400 return astgen.failTok(main_tokens[var_decl.ast.section_node], "cannot set section of local variable '{s}'", .{ ident_name_raw });2400 return astgen.failTok(main_tokens[var_decl.ast.section_node], "cannot set section of local variable '{s}'", .{ident_name_raw});
2401 }2401 }
24022402
2403 const align_inst: Zir.Inst.Ref = if (var_decl.ast.align_node != 0)2403 const align_inst: Zir.Inst.Ref = if (var_decl.ast.align_node != 0)
src/Zir.zig+1-1
...@@ -4029,7 +4029,7 @@ const Writer = struct {...@@ -4029,7 +4029,7 @@ const Writer = struct {
4029 };4029 };
4030 const addrspace_inst: Inst.Ref = if (!has_section_or_addrspace) .none else inst: {4030 const addrspace_inst: Inst.Ref = if (!has_section_or_addrspace) .none else inst: {
4031 const inst = @intToEnum(Inst.Ref, self.code.extra[extra_index]);4031 const inst = @intToEnum(Inst.Ref, self.code.extra[extra_index]);
4032 extra_index +=1;4032 extra_index += 1;
4033 break :inst inst;4033 break :inst inst;
4034 };4034 };
4035 const pub_str = if (is_pub) "pub " else "";4035 const pub_str = if (is_pub) "pub " else "";
src/type.zig+5-5
...@@ -1002,7 +1002,7 @@ pub const Type = extern union {...@@ -1002,7 +1002,7 @@ pub const Type = extern union {
1002 try writer.writeAll(@tagName(payload.cc));1002 try writer.writeAll(@tagName(payload.cc));
1003 try writer.writeAll(") ");1003 try writer.writeAll(") ");
1004 if (payload.@"addrspace" != .generic) {1004 if (payload.@"addrspace" != .generic) {
1005 try writer.print("addrspace(.{s}) ", .{ @tagName(payload.@"addrspace") });1005 try writer.print("addrspace(.{s}) ", .{@tagName(payload.@"addrspace")});
1006 }1006 }
1007 ty = payload.return_type;1007 ty = payload.return_type;
1008 continue;1008 continue;
...@@ -1136,7 +1136,7 @@ pub const Type = extern union {...@@ -1136,7 +1136,7 @@ pub const Type = extern union {
1136 try writer.writeAll(") ");1136 try writer.writeAll(") ");
1137 }1137 }
1138 if (payload.@"addrspace" != .generic) {1138 if (payload.@"addrspace" != .generic) {
1139 try writer.print("addrspace(.{s}) ", .{ @tagName(payload.@"addrspace") });1139 try writer.print("addrspace(.{s}) ", .{@tagName(payload.@"addrspace")});
1140 }1140 }
1141 if (!payload.mutable) try writer.writeAll("const ");1141 if (!payload.mutable) try writer.writeAll("const ");
1142 if (payload.@"volatile") try writer.writeAll("volatile ");1142 if (payload.@"volatile") try writer.writeAll("volatile ");
...@@ -2197,8 +2197,8 @@ pub const Type = extern union {...@@ -2197,8 +2197,8 @@ pub const Type = extern union {
2197 payload.bit_offset != 0 or2197 payload.bit_offset != 0 or
2198 payload.host_size != 0 or2198 payload.host_size != 0 or
2199 payload.@"allowzero" or2199 payload.@"allowzero" or
2200 payload.@"volatile"2200 payload.@"volatile")
2201 ) {2201 {
2202 buffer.pointer = .{2202 buffer.pointer = .{
2203 .data = .{2203 .data = .{
2204 .pointee_type = payload.pointee_type,2204 .pointee_type = payload.pointee_type,
...@@ -2210,7 +2210,7 @@ pub const Type = extern union {...@@ -2210,7 +2210,7 @@ pub const Type = extern union {
2210 .@"allowzero" = payload.@"allowzero",2210 .@"allowzero" = payload.@"allowzero",
2211 .mutable = payload.mutable,2211 .mutable = payload.mutable,
2212 .@"volatile" = payload.@"volatile",2212 .@"volatile" = payload.@"volatile",
2213 .size = .Many2213 .size = .Many,
2214 },2214 },
2215 };2215 };
2216 return Type.initPayload(&buffer.pointer.base);2216 return Type.initPayload(&buffer.pointer.base);
test/cases.zig+2-2
...@@ -861,7 +861,7 @@ pub fn addCases(ctx: *TestContext) !void {...@@ -861,7 +861,7 @@ pub fn addCases(ctx: *TestContext) !void {
861 "Hello, World!\n",861 "Hello, World!\n",
862 );862 );
863 try case.files.append(.{863 try case.files.append(.{
864 .src =864 .src =
865 \\pub fn print() void {865 \\pub fn print() void {
866 \\ asm volatile ("syscall"866 \\ asm volatile ("syscall"
867 \\ :867 \\ :
...@@ -924,7 +924,7 @@ pub fn addCases(ctx: *TestContext) !void {...@@ -924,7 +924,7 @@ pub fn addCases(ctx: *TestContext) !void {
924 },924 },
925 );925 );
926 try case.files.append(.{926 try case.files.append(.{
927 .src =927 .src =
928 \\// dummy comment to make print be on line 2928 \\// dummy comment to make print be on line 2
929 \\fn print() void {929 \\fn print() void {
930 \\ asm volatile ("syscall"930 \\ asm volatile ("syscall"