authorgravatar for topolarity@tapscott.meCody Tapscott <topolarity@tapscott.me> 2022-08-12 14:47:54-07:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-08-13 09:22:25+03:00
log7e07f3d4f95f9e7a0d95ee7b9335798eccb470c7
tree87a82ab8de0ef0f96bf49bedb81ae8b254764867
parentbfe8a4d9f6f51ede95e827e9f90b4591081c55f9

stage2 astgen: Use `rl` semantics for `@Type`

Resolves #12430.

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

src/AstGen.zig+2-1
...@@ -7676,7 +7676,8 @@ fn builtinCall(...@@ -7676,7 +7676,8 @@ fn builtinCall(
7676 } },7676 } },
7677 });7677 });
7678 gz.instructions.appendAssumeCapacity(new_index);7678 gz.instructions.appendAssumeCapacity(new_index);
7679 return indexToRef(new_index);7679 const result = indexToRef(new_index);
7680 return rvalue(gz, rl, result, node);
7680 },7681 },
7681 .panic => {7682 .panic => {
7682 try emitDbgNode(gz, node);7683 try emitDbgNode(gz, node);
test/behavior.zig+1
...@@ -84,6 +84,7 @@ test {...@@ -84,6 +84,7 @@ test {
84 _ = @import("behavior/bugs/11213.zig");84 _ = @import("behavior/bugs/11213.zig");
85 _ = @import("behavior/bugs/12003.zig");85 _ = @import("behavior/bugs/12003.zig");
86 _ = @import("behavior/bugs/12033.zig");86 _ = @import("behavior/bugs/12033.zig");
87 _ = @import("behavior/bugs/12430.zig");
87 _ = @import("behavior/byteswap.zig");88 _ = @import("behavior/byteswap.zig");
88 _ = @import("behavior/byval_arg_var.zig");89 _ = @import("behavior/byval_arg_var.zig");
89 _ = @import("behavior/call.zig");90 _ = @import("behavior/call.zig");
test/behavior/bugs/12430.zig created+11
...@@ -0,0 +1,11 @@
1const std = @import("std");
2
3test {
4 const T = comptime b: {
5 break :b @Type(.{ .Int = .{
6 .signedness = .unsigned,
7 .bits = 8,
8 } });
9 };
10 try std.testing.expect(T == u8);
11}