From 8558983c865b6d7ec8a692bd1027443109058cf6 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 4 Mar 2023 14:41:17 -0700 Subject: [PATCH] std.os.abort: take advantage of `@trap` --- lib/std/os.zig | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/lib/std/os.zig b/lib/std/os.zig index 3a3433d819..f2bd8bda97 100644 --- 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 + switch (builtin.os.tag) { + .uefi, .wasi, .cuda => @trap(), + else => system.abort(), } - 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"(); - } - - system.abort(); } -extern fn @"llvm.trap"() noreturn; - pub const RaiseError = UnexpectedError; pub fn raise(sig: u8) RaiseError!void {