mirror of
https://github.com/ziglang/zig.git
synced 2026-02-14 05:20:34 +00:00
Sema: use trap for backends that don't support panic_fn
Debuggers also catch trap, but the code is not allowed to continue.
This commit is contained in:
parent
19bd7d12b0
commit
0489a63a43
@ -23287,8 +23287,7 @@ fn panicWithMsg(
|
||||
const arena = sema.arena;
|
||||
|
||||
if (!mod.backendSupportsFeature(.panic_fn)) {
|
||||
_ = try block.addNoOp(.breakpoint);
|
||||
_ = try block.addNoOp(.unreach);
|
||||
_ = try block.addNoOp(.trap);
|
||||
return;
|
||||
}
|
||||
const panic_fn = try sema.getBuiltin("panic");
|
||||
@ -23336,8 +23335,7 @@ fn panicUnwrapError(
|
||||
|
||||
{
|
||||
if (!sema.mod.backendSupportsFeature(.panic_unwrap_error)) {
|
||||
_ = try fail_block.addNoOp(.breakpoint);
|
||||
_ = try fail_block.addNoOp(.unreach);
|
||||
_ = try fail_block.addNoOp(.trap);
|
||||
} else {
|
||||
const panic_fn = try sema.getBuiltin("panicUnwrapError");
|
||||
const err = try fail_block.addTyOp(unwrap_err_tag, Type.anyerror, operand);
|
||||
@ -23462,8 +23460,7 @@ fn safetyCheckFormatted(
|
||||
defer fail_block.instructions.deinit(gpa);
|
||||
|
||||
if (!sema.mod.backendSupportsFeature(.safety_check_formatted)) {
|
||||
_ = try fail_block.addNoOp(.breakpoint);
|
||||
_ = try fail_block.addNoOp(.unreach);
|
||||
_ = try fail_block.addNoOp(.trap);
|
||||
} else {
|
||||
const panic_fn = try sema.getBuiltin(func);
|
||||
_ = try sema.analyzeCall(&fail_block, panic_fn, sema.src, sema.src, .auto, false, args, null);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user