From 4a2100e8208346d0812e8b2faf5baa3588fcba36 Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Sun, 13 Mar 2022 15:42:40 +0100 Subject: [PATCH] std: more c/darwin.zig fixes --- lib/std/c/darwin.zig | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/lib/std/c/darwin.zig b/lib/std/c/darwin.zig index 04a17b6f4f..a986f5337e 100644 --- a/lib/std/c/darwin.zig +++ b/lib/std/c/darwin.zig @@ -859,12 +859,14 @@ pub const Kevent = extern struct { // to make sure the struct is laid out the same. These values were // produced from C code using the offsetof macro. comptime { - assert(@offsetOf(Kevent, "ident") == 0); - assert(@offsetOf(Kevent, "filter") == 8); - assert(@offsetOf(Kevent, "flags") == 10); - assert(@offsetOf(Kevent, "fflags") == 12); - assert(@offsetOf(Kevent, "data") == 16); - assert(@offsetOf(Kevent, "udata") == 24); + if (builtin.target.isDarwin()) { + assert(@offsetOf(Kevent, "ident") == 0); + assert(@offsetOf(Kevent, "filter") == 8); + assert(@offsetOf(Kevent, "flags") == 10); + assert(@offsetOf(Kevent, "fflags") == 12); + assert(@offsetOf(Kevent, "data") == 16); + assert(@offsetOf(Kevent, "udata") == 24); + } } pub const kevent64_s = extern struct { @@ -881,13 +883,15 @@ pub const kevent64_s = extern struct { // to make sure the struct is laid out the same. These values were // produced from C code using the offsetof macro. comptime { - assert(@offsetOf(kevent64_s, "ident") == 0); - assert(@offsetOf(kevent64_s, "filter") == 8); - assert(@offsetOf(kevent64_s, "flags") == 10); - assert(@offsetOf(kevent64_s, "fflags") == 12); - assert(@offsetOf(kevent64_s, "data") == 16); - assert(@offsetOf(kevent64_s, "udata") == 24); - assert(@offsetOf(kevent64_s, "ext") == 32); + if (builtin.target.isDarwin()) { + assert(@offsetOf(kevent64_s, "ident") == 0); + assert(@offsetOf(kevent64_s, "filter") == 8); + assert(@offsetOf(kevent64_s, "flags") == 10); + assert(@offsetOf(kevent64_s, "fflags") == 12); + assert(@offsetOf(kevent64_s, "data") == 16); + assert(@offsetOf(kevent64_s, "udata") == 24); + assert(@offsetOf(kevent64_s, "ext") == 32); + } } pub const mach_port_t = c_uint; @@ -1779,7 +1783,7 @@ pub const E = enum(u16) { }; pub fn getKernError(err: kern_return_t) KernE { - return @intToEnum(KernE, err); + return @intToEnum(KernE, @truncate(u8, @intCast(usize, err))); } /// Kernel return values