mirror of
https://github.com/ziglang/zig.git
synced 2026-02-12 20:37:54 +00:00
Sema: improve source location after as_node is used
+2 more passing compile error tests
This commit is contained in:
parent
d3d24874c9
commit
8edd7219c0
@ -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);
|
||||
}
|
||||
|
||||
|
||||
10
test/cases/compile_errors/and_on_undefined_value.zig
Normal file
10
test/cases/compile_errors/and_on_undefined_value.zig
Normal 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
|
||||
10
test/cases/compile_errors/or_on_undefined_value.zig
Normal file
10
test/cases/compile_errors/or_on_undefined_value.zig
Normal 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
|
||||
@ -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
|
||||
@ -8,8 +8,8 @@ const Untagged = @Type(.{
|
||||
.decls = &.{},
|
||||
},
|
||||
});
|
||||
export fn entry() void {
|
||||
_ = Untagged{};
|
||||
export fn entry() usize {
|
||||
return @sizeOf(Untagged);
|
||||
}
|
||||
|
||||
// error
|
||||
|
||||
@ -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
|
||||
Loading…
x
Reference in New Issue
Block a user