From 90ae37cc00b08394c9e20c1699066cf9b08a13e7 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Tue, 28 Jun 2022 20:58:21 +0300 Subject: [PATCH] tests: move compile errors not planned for stage2 --- src/Sema.zig | 3 +-- ...paring_against_undefined_produces_undefined_value.zig | 9 +++++++++ .../{obj => }/add_wrap_assign_on_undefined_value.zig | 0 .../stage1/{obj => }/add_wrap_on_undefined_value.zig | 0 .../stage1/{obj => }/and_on_undefined_value.zig | 0 .../{obj => }/bin_and_assign_on_undefined_value.zig | 0 .../stage1/{obj => }/bin_and_on_undefined_value.zig | 0 .../stage1/{obj => }/bin_not_on_undefined_value.zig | 0 .../{obj => }/bin_or_assign_on_undefined_value.zig | 0 .../stage1/{obj => }/bin_or_on_undefined_value.zig | 0 .../{obj => }/bin_xor_assign_on_undefined_value.zig | 0 .../stage1/{obj => }/bin_xor_on_undefined_value.zig | 0 .../stage1/{obj => }/bool_not_on_undefined_value.zig | 0 .../stage1/{obj => }/catch_on_undefined_value.zig | 0 .../stage1/{obj => }/deref_on_undefined_value.zig | 0 .../stage1/{obj => }/div_assign_on_undefined_value.zig | 0 .../stage1/{obj => }/div_on_undefined_value.zig | 0 .../stage1/{obj => }/mod_assign_on_undefined_value.zig | 0 .../stage1/{obj => }/mod_on_undefined_value.zig | 0 .../stage1/{obj => }/mult_assign_on_undefined_value.zig | 0 .../stage1/{obj => }/mult_on_undefined_value.zig | 0 .../{obj => }/mult_wrap_assign_on_undefined_value.zig | 0 .../stage1/{obj => }/mult_wrap_on_undefined_value.zig | 0 .../stage1/{obj => }/negate_on_undefined_value.zig | 0 .../stage1/{obj => }/negate_wrap_on_undefined_value.zig | 0 ...paring_against_undefined_produces_undefined_value.zig | 9 --------- .../stage1/{obj => }/or_on_undefined_value.zig | 0 .../stage1/{obj => }/orelse_on_undefined_value.zig | 0 .../{obj => }/shift_left_assign_on_undefined_value.zig | 0 .../stage1/{obj => }/shift_left_on_undefined_value.zig | 0 .../{obj => }/shift_right_assign_on_undefined_value.zig | 0 .../stage1/{obj => }/shift_right_on_undefined_value.zig | 0 .../stage1/{obj => }/sub_assign_on_undefined_value.zig | 0 .../stage1/{obj => }/sub_on_undefined_value.zig | 0 .../{obj => }/sub_wrap_assign_on_undefined_value.zig | 0 .../stage1/{obj => }/sub_wrap_on_undefined_value.zig | 0 .../stage1/{obj => }/truncate_undefined_value.zig | 0 37 files changed, 10 insertions(+), 11 deletions(-) create mode 100644 test/cases/compile_errors/comparing_against_undefined_produces_undefined_value.zig rename test/cases/compile_errors/stage1/{obj => }/add_wrap_assign_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/add_wrap_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/and_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/bin_and_assign_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/bin_and_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/bin_not_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/bin_or_assign_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/bin_or_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/bin_xor_assign_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/bin_xor_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/bool_not_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/catch_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/deref_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/div_assign_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/div_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/mod_assign_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/mod_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/mult_assign_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/mult_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/mult_wrap_assign_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/mult_wrap_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/negate_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/negate_wrap_on_undefined_value.zig (100%) delete mode 100644 test/cases/compile_errors/stage1/obj/comparing_against_undefined_produces_undefined_value.zig rename test/cases/compile_errors/stage1/{obj => }/or_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/orelse_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/shift_left_assign_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/shift_left_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/shift_right_assign_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/shift_right_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/sub_assign_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/sub_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/sub_wrap_assign_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/sub_wrap_on_undefined_value.zig (100%) rename test/cases/compile_errors/stage1/{obj => }/truncate_undefined_value.zig (100%) diff --git a/src/Sema.zig b/src/Sema.zig index 2674d61a7d..c67c8572e0 100644 --- a/src/Sema.zig +++ b/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. diff --git a/test/cases/compile_errors/comparing_against_undefined_produces_undefined_value.zig b/test/cases/compile_errors/comparing_against_undefined_produces_undefined_value.zig new file mode 100644 index 0000000000..d98741b80d --- /dev/null +++ b/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 diff --git a/test/cases/compile_errors/stage1/obj/add_wrap_assign_on_undefined_value.zig b/test/cases/compile_errors/stage1/add_wrap_assign_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/add_wrap_assign_on_undefined_value.zig rename to test/cases/compile_errors/stage1/add_wrap_assign_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/add_wrap_on_undefined_value.zig b/test/cases/compile_errors/stage1/add_wrap_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/add_wrap_on_undefined_value.zig rename to test/cases/compile_errors/stage1/add_wrap_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/and_on_undefined_value.zig b/test/cases/compile_errors/stage1/and_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/and_on_undefined_value.zig rename to test/cases/compile_errors/stage1/and_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/bin_and_assign_on_undefined_value.zig b/test/cases/compile_errors/stage1/bin_and_assign_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/bin_and_assign_on_undefined_value.zig rename to test/cases/compile_errors/stage1/bin_and_assign_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/bin_and_on_undefined_value.zig b/test/cases/compile_errors/stage1/bin_and_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/bin_and_on_undefined_value.zig rename to test/cases/compile_errors/stage1/bin_and_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/bin_not_on_undefined_value.zig b/test/cases/compile_errors/stage1/bin_not_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/bin_not_on_undefined_value.zig rename to test/cases/compile_errors/stage1/bin_not_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/bin_or_assign_on_undefined_value.zig b/test/cases/compile_errors/stage1/bin_or_assign_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/bin_or_assign_on_undefined_value.zig rename to test/cases/compile_errors/stage1/bin_or_assign_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/bin_or_on_undefined_value.zig b/test/cases/compile_errors/stage1/bin_or_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/bin_or_on_undefined_value.zig rename to test/cases/compile_errors/stage1/bin_or_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/bin_xor_assign_on_undefined_value.zig b/test/cases/compile_errors/stage1/bin_xor_assign_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/bin_xor_assign_on_undefined_value.zig rename to test/cases/compile_errors/stage1/bin_xor_assign_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/bin_xor_on_undefined_value.zig b/test/cases/compile_errors/stage1/bin_xor_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/bin_xor_on_undefined_value.zig rename to test/cases/compile_errors/stage1/bin_xor_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/bool_not_on_undefined_value.zig b/test/cases/compile_errors/stage1/bool_not_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/bool_not_on_undefined_value.zig rename to test/cases/compile_errors/stage1/bool_not_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/catch_on_undefined_value.zig b/test/cases/compile_errors/stage1/catch_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/catch_on_undefined_value.zig rename to test/cases/compile_errors/stage1/catch_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/deref_on_undefined_value.zig b/test/cases/compile_errors/stage1/deref_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/deref_on_undefined_value.zig rename to test/cases/compile_errors/stage1/deref_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/div_assign_on_undefined_value.zig b/test/cases/compile_errors/stage1/div_assign_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/div_assign_on_undefined_value.zig rename to test/cases/compile_errors/stage1/div_assign_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/div_on_undefined_value.zig b/test/cases/compile_errors/stage1/div_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/div_on_undefined_value.zig rename to test/cases/compile_errors/stage1/div_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/mod_assign_on_undefined_value.zig b/test/cases/compile_errors/stage1/mod_assign_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/mod_assign_on_undefined_value.zig rename to test/cases/compile_errors/stage1/mod_assign_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/mod_on_undefined_value.zig b/test/cases/compile_errors/stage1/mod_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/mod_on_undefined_value.zig rename to test/cases/compile_errors/stage1/mod_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/mult_assign_on_undefined_value.zig b/test/cases/compile_errors/stage1/mult_assign_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/mult_assign_on_undefined_value.zig rename to test/cases/compile_errors/stage1/mult_assign_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/mult_on_undefined_value.zig b/test/cases/compile_errors/stage1/mult_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/mult_on_undefined_value.zig rename to test/cases/compile_errors/stage1/mult_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/mult_wrap_assign_on_undefined_value.zig b/test/cases/compile_errors/stage1/mult_wrap_assign_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/mult_wrap_assign_on_undefined_value.zig rename to test/cases/compile_errors/stage1/mult_wrap_assign_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/mult_wrap_on_undefined_value.zig b/test/cases/compile_errors/stage1/mult_wrap_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/mult_wrap_on_undefined_value.zig rename to test/cases/compile_errors/stage1/mult_wrap_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/negate_on_undefined_value.zig b/test/cases/compile_errors/stage1/negate_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/negate_on_undefined_value.zig rename to test/cases/compile_errors/stage1/negate_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/negate_wrap_on_undefined_value.zig b/test/cases/compile_errors/stage1/negate_wrap_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/negate_wrap_on_undefined_value.zig rename to test/cases/compile_errors/stage1/negate_wrap_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/comparing_against_undefined_produces_undefined_value.zig b/test/cases/compile_errors/stage1/obj/comparing_against_undefined_produces_undefined_value.zig deleted file mode 100644 index 8bad61e6d1..0000000000 --- a/test/cases/compile_errors/stage1/obj/comparing_against_undefined_produces_undefined_value.zig +++ /dev/null @@ -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 diff --git a/test/cases/compile_errors/stage1/obj/or_on_undefined_value.zig b/test/cases/compile_errors/stage1/or_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/or_on_undefined_value.zig rename to test/cases/compile_errors/stage1/or_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/orelse_on_undefined_value.zig b/test/cases/compile_errors/stage1/orelse_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/orelse_on_undefined_value.zig rename to test/cases/compile_errors/stage1/orelse_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/shift_left_assign_on_undefined_value.zig b/test/cases/compile_errors/stage1/shift_left_assign_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/shift_left_assign_on_undefined_value.zig rename to test/cases/compile_errors/stage1/shift_left_assign_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/shift_left_on_undefined_value.zig b/test/cases/compile_errors/stage1/shift_left_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/shift_left_on_undefined_value.zig rename to test/cases/compile_errors/stage1/shift_left_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/shift_right_assign_on_undefined_value.zig b/test/cases/compile_errors/stage1/shift_right_assign_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/shift_right_assign_on_undefined_value.zig rename to test/cases/compile_errors/stage1/shift_right_assign_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/shift_right_on_undefined_value.zig b/test/cases/compile_errors/stage1/shift_right_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/shift_right_on_undefined_value.zig rename to test/cases/compile_errors/stage1/shift_right_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/sub_assign_on_undefined_value.zig b/test/cases/compile_errors/stage1/sub_assign_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/sub_assign_on_undefined_value.zig rename to test/cases/compile_errors/stage1/sub_assign_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/sub_on_undefined_value.zig b/test/cases/compile_errors/stage1/sub_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/sub_on_undefined_value.zig rename to test/cases/compile_errors/stage1/sub_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/sub_wrap_assign_on_undefined_value.zig b/test/cases/compile_errors/stage1/sub_wrap_assign_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/sub_wrap_assign_on_undefined_value.zig rename to test/cases/compile_errors/stage1/sub_wrap_assign_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/sub_wrap_on_undefined_value.zig b/test/cases/compile_errors/stage1/sub_wrap_on_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/sub_wrap_on_undefined_value.zig rename to test/cases/compile_errors/stage1/sub_wrap_on_undefined_value.zig diff --git a/test/cases/compile_errors/stage1/obj/truncate_undefined_value.zig b/test/cases/compile_errors/stage1/truncate_undefined_value.zig similarity index 100% rename from test/cases/compile_errors/stage1/obj/truncate_undefined_value.zig rename to test/cases/compile_errors/stage1/truncate_undefined_value.zig