Commit be9a4a1f97
Changed files (3)
src
test
behavior
bugs
src/Sema.zig
@@ -15652,7 +15652,9 @@ fn zirBoolBr(
_ = try lhs_block.addBr(block_inst, lhs_result);
const rhs_result = try sema.resolveBody(rhs_block, body, inst);
- _ = try rhs_block.addBr(block_inst, rhs_result);
+ if (!sema.typeOf(rhs_result).isNoReturn()) {
+ _ = try rhs_block.addBr(block_inst, rhs_result);
+ }
return finishCondBr(sema, parent_block, &child_block, &then_block, &else_block, lhs, block_inst);
}
test/behavior/bugs/13112.zig
@@ -0,0 +1,7 @@
+fn nice(a: u32, b: u32) bool {
+ return a == 5 or b == 2 or @panic("oh no");
+}
+
+test {
+ _ = nice(2, 2);
+}
test/behavior.zig
@@ -103,6 +103,7 @@ test {
_ = @import("behavior/bugs/12972.zig");
_ = @import("behavior/bugs/12984.zig");
_ = @import("behavior/bugs/13068.zig");
+ _ = @import("behavior/bugs/13112.zig");
_ = @import("behavior/bugs/13128.zig");
_ = @import("behavior/byteswap.zig");
_ = @import("behavior/byval_arg_var.zig");