Commit 8558983c86

Andrew Kelley <andrew@ziglang.org>
2023-03-04 22:41:17
std.os.abort: take advantage of `@trap`
1 parent cdb9cc8
Changed files (1)
lib
std
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 {