Sema: improve source location after as_node is used

+2 more passing compile error tests
This commit is contained in:
Andrew Kelley 2022-09-15 18:10:52 -07:00
parent d3d24874c9
commit 8edd7219c0
6 changed files with 23 additions and 22 deletions

View File

@ -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);
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -8,8 +8,8 @@ const Untagged = @Type(.{
.decls = &.{},
},
});
export fn entry() void {
_ = Untagged{};
export fn entry() usize {
return @sizeOf(Untagged);
}
// error

View File

@ -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