Commit 4a2100e820

Jakub Konka <kubkon@jakubkonka.com>
2022-03-13 15:42:40
std: more c/darwin.zig fixes
1 parent 1af0c75
Changed files (1)
lib
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