diff options
| author | Jacob Young <jacobly0@users.noreply.github.com> | 2023-04-30 21:13:29 -0400 |
|---|---|---|
| committer | Jacob Young <jacobly0@users.noreply.github.com> | 2023-05-01 19:22:52 -0400 |
| commit | 0489a63a432b31ce0fd9d6ec6c8e2fb72a920573 (patch) | |
| tree | bd0436c79234fa936eb1b2f60edfa8f26433bd90 /src | |
| parent | 19bd7d12b0186f0e45c77c564251d6355966b2ef (diff) | |
| download | zig-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.zig | 9 |
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); |
