diff --git a/src/Sema.zig b/src/Sema.zig index 1afecef4614799dda3fee347bb3ddab70d3b4167..028230841dbb9b146ce5d99deef225d634439f61 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -8321,6 +8321,7 @@ fn zirAsNode(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air. const inst_data = sema.code.instructions.items(.data)[inst].pl_node; const src = inst_data.src(); const extra = sema.code.extraData(Zir.Inst.As, inst_data.payload_index).data; + sema.src = src; return sema.analyzeAs(block, src, extra.dest_type, extra.operand, false); } diff --git a/test/cases/compile_errors/and_on_undefined_value.zig b/test/cases/compile_errors/and_on_undefined_value.zig new file mode 100644 index 0000000000000000000000000000000000000000..cee23d054061351e516fb85a7081f2596804183c --- /dev/null +++ b/test/cases/compile_errors/and_on_undefined_value.zig @@ -0,0 +1,10 @@ +comptime { + var a: bool = undefined; + _ = a and a; +} + +// error +// backend=stage2 +// target=native +// +// :3:9: error: use of undefined value here causes undefined behavior diff --git a/test/cases/compile_errors/or_on_undefined_value.zig b/test/cases/compile_errors/or_on_undefined_value.zig new file mode 100644 index 0000000000000000000000000000000000000000..b40c1beddd6a9f4bf6fccbb0795db2371c702d44 --- /dev/null +++ b/test/cases/compile_errors/or_on_undefined_value.zig @@ -0,0 +1,10 @@ +comptime { + var a: bool = undefined; + _ = a or a; +} + +// error +// backend=stage2 +// target=native +// +// :3:9: error: use of undefined value here causes undefined behavior diff --git a/test/cases/compile_errors/stage1/and_on_undefined_value.zig b/test/cases/compile_errors/stage1/and_on_undefined_value.zig deleted file mode 100644 index 6071d81062fcc32291a7673bcb6e2877ea7d3358..0000000000000000000000000000000000000000 --- a/test/cases/compile_errors/stage1/and_on_undefined_value.zig +++ /dev/null @@ -1,10 +0,0 @@ -comptime { - var a: bool = undefined; - _ = a and a; -} - -// error -// backend=stage1 -// target=native -// -// tmp.zig:3:9: error: use of undefined value here causes undefined behavior diff --git a/test/cases/compile_errors/stage1/obj/reify_type_for_union_with_opaque_field.zig b/test/cases/compile_errors/stage1/obj/reify_type_for_union_with_opaque_field.zig index d3f4f6da4b80e3b69643f5b215ab8f8c224904b0..58cba3cd42bbd72941e1aa529842602044165906 100644 --- a/test/cases/compile_errors/stage1/obj/reify_type_for_union_with_opaque_field.zig +++ b/test/cases/compile_errors/stage1/obj/reify_type_for_union_with_opaque_field.zig @@ -8,8 +8,8 @@ const Untagged = @Type(.{ .decls = &.{}, }, }); -export fn entry() void { - _ = Untagged{}; +export fn entry() usize { + return @sizeOf(Untagged); } // error diff --git a/test/cases/compile_errors/stage1/or_on_undefined_value.zig b/test/cases/compile_errors/stage1/or_on_undefined_value.zig deleted file mode 100644 index 11e6c41deaa52764da050eea129327b3e530550e..0000000000000000000000000000000000000000 --- a/test/cases/compile_errors/stage1/or_on_undefined_value.zig +++ /dev/null @@ -1,10 +0,0 @@ -comptime { - var a: bool = undefined; - _ = a or a; -} - -// error -// backend=stage1 -// target=native -// -// tmp.zig:3:9: error: use of undefined value here causes undefined behavior