zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

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:
Mlib/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 {