Commit 90ae37cc00
Changed files (37)
src
test
cases
compile_errors
stage1
src/Sema.zig
@@ -13203,7 +13203,6 @@ fn zirCondbr(
defer tracy.end();
const inst_data = sema.code.instructions.items(.data)[inst].pl_node;
- const src = inst_data.src();
const cond_src: LazySrcLoc = .{ .node_offset_if_cond = inst_data.src_node };
const extra = sema.code.extraData(Zir.Inst.CondBr, inst_data.payload_index);
@@ -13213,7 +13212,7 @@ fn zirCondbr(
const uncasted_cond = try sema.resolveInst(extra.data.condition);
const cond = try sema.coerce(parent_block, Type.bool, uncasted_cond, cond_src);
- if (try sema.resolveDefinedValue(parent_block, src, cond)) |cond_val| {
+ if (try sema.resolveDefinedValue(parent_block, cond_src, cond)) |cond_val| {
const body = if (cond_val.toBool()) then_body else else_body;
// We use `analyzeBodyInner` since we want to propagate any possible
// `error.ComptimeBreak` to the caller.
test/cases/compile_errors/stage1/obj/comparing_against_undefined_produces_undefined_value.zig
@@ -1,9 +0,0 @@
-export fn entry() void {
- if (2 == undefined) {}
-}
-
-// error
-// backend=stage1
-// target=native
-//
-// tmp.zig:2:11: error: use of undefined value here causes undefined behavior
test/cases/compile_errors/stage1/obj/add_wrap_assign_on_undefined_value.zig → test/cases/compile_errors/stage1/add_wrap_assign_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/add_wrap_on_undefined_value.zig → test/cases/compile_errors/stage1/add_wrap_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/and_on_undefined_value.zig → test/cases/compile_errors/stage1/and_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/bin_and_assign_on_undefined_value.zig → test/cases/compile_errors/stage1/bin_and_assign_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/bin_and_on_undefined_value.zig → test/cases/compile_errors/stage1/bin_and_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/bin_not_on_undefined_value.zig → test/cases/compile_errors/stage1/bin_not_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/bin_or_assign_on_undefined_value.zig → test/cases/compile_errors/stage1/bin_or_assign_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/bin_or_on_undefined_value.zig → test/cases/compile_errors/stage1/bin_or_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/bin_xor_assign_on_undefined_value.zig → test/cases/compile_errors/stage1/bin_xor_assign_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/bin_xor_on_undefined_value.zig → test/cases/compile_errors/stage1/bin_xor_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/bool_not_on_undefined_value.zig → test/cases/compile_errors/stage1/bool_not_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/catch_on_undefined_value.zig → test/cases/compile_errors/stage1/catch_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/deref_on_undefined_value.zig → test/cases/compile_errors/stage1/deref_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/div_assign_on_undefined_value.zig → test/cases/compile_errors/stage1/div_assign_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/div_on_undefined_value.zig → test/cases/compile_errors/stage1/div_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/mod_assign_on_undefined_value.zig → test/cases/compile_errors/stage1/mod_assign_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/mod_on_undefined_value.zig → test/cases/compile_errors/stage1/mod_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/mult_assign_on_undefined_value.zig → test/cases/compile_errors/stage1/mult_assign_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/mult_on_undefined_value.zig → test/cases/compile_errors/stage1/mult_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/mult_wrap_assign_on_undefined_value.zig → test/cases/compile_errors/stage1/mult_wrap_assign_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/mult_wrap_on_undefined_value.zig → test/cases/compile_errors/stage1/mult_wrap_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/negate_on_undefined_value.zig → test/cases/compile_errors/stage1/negate_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/negate_wrap_on_undefined_value.zig → test/cases/compile_errors/stage1/negate_wrap_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/or_on_undefined_value.zig → test/cases/compile_errors/stage1/or_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/orelse_on_undefined_value.zig → test/cases/compile_errors/stage1/orelse_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/shift_left_assign_on_undefined_value.zig → test/cases/compile_errors/stage1/shift_left_assign_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/shift_left_on_undefined_value.zig → test/cases/compile_errors/stage1/shift_left_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/shift_right_assign_on_undefined_value.zig → test/cases/compile_errors/stage1/shift_right_assign_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/shift_right_on_undefined_value.zig → test/cases/compile_errors/stage1/shift_right_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/sub_assign_on_undefined_value.zig → test/cases/compile_errors/stage1/sub_assign_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/sub_on_undefined_value.zig → test/cases/compile_errors/stage1/sub_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/sub_wrap_assign_on_undefined_value.zig → test/cases/compile_errors/stage1/sub_wrap_assign_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/sub_wrap_on_undefined_value.zig → test/cases/compile_errors/stage1/sub_wrap_on_undefined_value.zig
File renamed without changes
test/cases/compile_errors/stage1/obj/truncate_undefined_value.zig → test/cases/compile_errors/stage1/truncate_undefined_value.zig
File renamed without changes
test/cases/compile_errors/comparing_against_undefined_produces_undefined_value.zig
@@ -0,0 +1,9 @@
+export fn entry() void {
+ if (2 == undefined) {}
+}
+
+// error
+// backend=stage2
+// target=native
+//
+// :2:11: error: use of undefined value here causes undefined behavior