aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2023-04-30 21:13:29 -0400
committerJacob Young <jacobly0@users.noreply.github.com>2023-05-01 19:22:52 -0400
commit0489a63a432b31ce0fd9d6ec6c8e2fb72a920573 (patch)
treebd0436c79234fa936eb1b2f60edfa8f26433bd90 /src
parent19bd7d12b0186f0e45c77c564251d6355966b2ef (diff)
downloadzig-0489a63a432b31ce0fd9d6ec6c8e2fb72a920573.tar.gz
zig-0489a63a432b31ce0fd9d6ec6c8e2fb72a920573.zip
Sema: use trap for backends that don't support panic_fn
Debuggers also catch trap, but the code is not allowed to continue.
Diffstat (limited to 'src')
-rw-r--r--src/Sema.zig9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index 71a1215dcd..79f2fd7fca 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -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);