commit 8558983c865b6d7ec8a692bd1027443109058cf6 (tree) parent cdb9cc8f6bda4b4faa270278e3b67c4ef9246a84 Author: Andrew Kelley <andrew@ziglang.org> Date: Sat, 4 Mar 2023 14:41:17 -0700 std.os.abort: take advantage of `@trap` Diffstat:
| M | lib/std/os.zig | | | 16 | +++------------- |
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/lib/std/os.zig b/lib/std/os.zig @@ -575,22 +575,12 @@ pub fn abort() noreturn { raise(SIG.KILL) catch {}; exit(127); // Pid 1 might not be signalled in some containers. } - if (builtin.os.tag == .uefi) { - exit(0); // TODO choose appropriate exit code - } - if (builtin.os.tag == .wasi) { - exit(1); - } - if (builtin.os.tag == .cuda) { - // TODO: introduce `@trap` instead of abusing https://github.com/ziglang/zig/issues/2291 - @"llvm.trap"(); + switch (builtin.os.tag) { + .uefi, .wasi, .cuda => @trap(), + else => system.abort(), } - - system.abort(); } -extern fn @"llvm.trap"() noreturn; - pub const RaiseError = UnexpectedError; pub fn raise(sig: u8) RaiseError!void {