diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-07-04 14:07:08 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-07-04 14:07:08 -0700 |
| commit | f59bd2be539ce736d2ef04d16f48980d9c02a3ab (patch) | |
| tree | a45a698a1836f350fd7992c7749932e4e1232f73 /lib/std | |
| parent | 6db190cf708d6ddb1c51d294c6f5a9416106277f (diff) | |
| parent | d65e248ed130da21e554807c8ce6add9773e0670 (diff) | |
| download | zig-f59bd2be539ce736d2ef04d16f48980d9c02a3ab.tar.gz zig-f59bd2be539ce736d2ef04d16f48980d9c02a3ab.zip | |
Merge remote-tracking branch 'origin/master' into llvm14
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/c/darwin.zig | 17 | ||||
| -rw-r--r-- | lib/std/c/dragonfly.zig | 16 | ||||
| -rw-r--r-- | lib/std/c/freebsd.zig | 15 | ||||
| -rw-r--r-- | lib/std/c/haiku.zig | 13 | ||||
| -rw-r--r-- | lib/std/c/netbsd.zig | 15 | ||||
| -rw-r--r-- | lib/std/c/openbsd.zig | 15 | ||||
| -rw-r--r-- | lib/std/c/solaris.zig | 15 |
7 files changed, 79 insertions, 27 deletions
diff --git a/lib/std/c/darwin.zig b/lib/std/c/darwin.zig index bb607cb7c3..e7fd3cde44 100644 --- a/lib/std/c/darwin.zig +++ b/lib/std/c/darwin.zig @@ -911,17 +911,18 @@ pub const siginfo_t = extern struct { /// Renamed from `sigaction` to `Sigaction` to avoid conflict with function name. pub const Sigaction = extern struct { - pub usingnamespace if (builtin.zig_backend == .stage1) struct { - pub const handler_fn = fn (c_int) callconv(.C) void; - pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void; - } else struct { - pub const handler_fn = *const fn (c_int) callconv(.C) void; - pub const sigaction_fn = *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void; + pub const handler_fn = switch (builtin.zig_backend) { + .stage1 => fn (c_int) callconv(.C) void, + else => *const fn (c_int) callconv(.C) void, + }; + pub const sigaction_fn = switch (builtin.zig_backend) { + .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void, + else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void, }; handler: extern union { - handler: ?Sigaction.handler_fn, - sigaction: ?Sigaction.sigaction_fn, + handler: ?handler_fn, + sigaction: ?sigaction_fn, }, mask: sigset_t, flags: c_uint, diff --git a/lib/std/c/dragonfly.zig b/lib/std/c/dragonfly.zig index 2e388d4c80..1a60f94a1e 100644 --- a/lib/std/c/dragonfly.zig +++ b/lib/std/c/dragonfly.zig @@ -1,3 +1,4 @@ +const builtin = @import("builtin"); const std = @import("../std.zig"); const maxInt = std.math.maxInt; const iovec = std.os.iovec; @@ -12,7 +13,10 @@ pub extern "c" fn sigaltstack(ss: ?*stack_t, old_ss: ?*stack_t) c_int; pub extern "c" fn getrandom(buf_ptr: [*]u8, buf_len: usize, flags: c_uint) isize; pub extern "c" fn pipe2(fds: *[2]fd_t, flags: u32) c_int; -pub const dl_iterate_phdr_callback = fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int; +pub const dl_iterate_phdr_callback = switch (builtin.zig_backend) { + .stage1 => fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int, + else => *const fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int, +}; pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int; pub extern "c" fn lwp_gettid() c_int; @@ -679,8 +683,14 @@ pub const empty_sigset = sigset_t{ .__bits = [_]c_uint{0} ** _SIG_WORDS }; pub const sig_atomic_t = c_int; pub const Sigaction = extern struct { - pub const handler_fn = fn (c_int) callconv(.C) void; - pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void; + pub const handler_fn = switch (builtin.zig_backend) { + .stage1 => fn (c_int) callconv(.C) void, + else => *const fn (c_int) callconv(.C) void, + }; + pub const sigaction_fn = switch (builtin.zig_backend) { + .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void, + else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void, + }; /// signal handler handler: extern union { diff --git a/lib/std/c/freebsd.zig b/lib/std/c/freebsd.zig index 997542439d..5a12b5e136 100644 --- a/lib/std/c/freebsd.zig +++ b/lib/std/c/freebsd.zig @@ -35,7 +35,10 @@ pub extern "c" fn sendfile( flags: u32, ) c_int; -pub const dl_iterate_phdr_callback = fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int; +pub const dl_iterate_phdr_callback = switch (builtin.zig_backend) { + .stage1 => fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int, + else => *const fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int, +}; pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int; pub const pthread_mutex_t = extern struct { @@ -998,8 +1001,14 @@ const NSIG = 32; /// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall. pub const Sigaction = extern struct { - pub const handler_fn = fn (c_int) callconv(.C) void; - pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void; + pub const handler_fn = switch (builtin.zig_backend) { + .stage1 => fn (c_int) callconv(.C) void, + else => *const fn (c_int) callconv(.C) void, + }; + pub const sigaction_fn = switch (builtin.zig_backend) { + .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void, + else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void, + }; /// signal handler handler: extern union { diff --git a/lib/std/c/haiku.zig b/lib/std/c/haiku.zig index 9c85aa8b66..0d238d833e 100644 --- a/lib/std/c/haiku.zig +++ b/lib/std/c/haiku.zig @@ -463,9 +463,9 @@ pub const SA = struct { }; pub const SIG = struct { - pub const ERR = @intToPtr(fn (i32) callconv(.C) void, maxInt(usize)); - pub const DFL = @intToPtr(fn (i32) callconv(.C) void, 0); - pub const IGN = @intToPtr(fn (i32) callconv(.C) void, 1); + pub const ERR = @intToPtr(?Sigaction.handler_fn, maxInt(usize)); + pub const DFL = @intToPtr(?Sigaction.handler_fn, 0); + pub const IGN = @intToPtr(?Sigaction.handler_fn, 1); pub const HUP = 1; pub const INT = 2; @@ -738,9 +738,14 @@ const NSIG = 32; /// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall. pub const Sigaction = extern struct { + pub const handler_fn = switch (builtin.zig_backend) { + .stage1 => fn (i32) callconv(.C) void, + else => *const fn (i32) callconv(.C) void, + }; + /// signal handler __sigaction_u: extern union { - __sa_handler: fn (i32) callconv(.C) void, + __sa_handler: handler_fn, }, /// see signal options diff --git a/lib/std/c/netbsd.zig b/lib/std/c/netbsd.zig index 5739e6fac9..3de14da7a2 100644 --- a/lib/std/c/netbsd.zig +++ b/lib/std/c/netbsd.zig @@ -9,7 +9,10 @@ const rusage = std.c.rusage; extern "c" fn __errno() *c_int; pub const _errno = __errno; -pub const dl_iterate_phdr_callback = fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int; +pub const dl_iterate_phdr_callback = switch (builtin.zig_backend) { + .stage1 => fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int, + else => *const fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int, +}; pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int; pub extern "c" fn _lwp_self() lwpid_t; @@ -971,8 +974,14 @@ pub const SIG = struct { /// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall. pub const Sigaction = extern struct { - pub const handler_fn = fn (c_int) callconv(.C) void; - pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void; + pub const handler_fn = switch (builtin.zig_backend) { + .stage1 => fn (c_int) callconv(.C) void, + else => *const fn (c_int) callconv(.C) void, + }; + pub const sigaction_fn = switch (builtin.zig_backend) { + .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void, + else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void, + }; /// signal handler handler: extern union { diff --git a/lib/std/c/openbsd.zig b/lib/std/c/openbsd.zig index 3ef2be4628..0863cc5a5e 100644 --- a/lib/std/c/openbsd.zig +++ b/lib/std/c/openbsd.zig @@ -7,7 +7,10 @@ const iovec_const = std.os.iovec_const; extern "c" fn __errno() *c_int; pub const _errno = __errno; -pub const dl_iterate_phdr_callback = fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int; +pub const dl_iterate_phdr_callback = switch (builtin.zig_backend) { + .stage1 => fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int, + else => *const fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int, +}; pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int; pub extern "c" fn arc4random_buf(buf: [*]u8, len: usize) void; @@ -1026,8 +1029,14 @@ pub const SIG = struct { /// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall. pub const Sigaction = extern struct { - pub const handler_fn = fn (c_int) callconv(.C) void; - pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void; + pub const handler_fn = switch (builtin.zig_backend) { + .stage1 => fn (c_int) callconv(.C) void, + else => *const fn (c_int) callconv(.C) void, + }; + pub const sigaction_fn = switch (builtin.zig_backend) { + .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void, + else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void, + }; /// signal handler handler: extern union { diff --git a/lib/std/c/solaris.zig b/lib/std/c/solaris.zig index 14f5bcf1c8..61e52cfe30 100644 --- a/lib/std/c/solaris.zig +++ b/lib/std/c/solaris.zig @@ -8,7 +8,10 @@ const timezone = std.c.timezone; extern "c" fn ___errno() *c_int; pub const _errno = ___errno; -pub const dl_iterate_phdr_callback = fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int; +pub const dl_iterate_phdr_callback = switch (builtin.zig_backend) { + .stage1 => fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int, + else => *const fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int, +}; pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int; pub extern "c" fn getdents(fd: c_int, buf_ptr: [*]u8, nbytes: usize) usize; @@ -952,8 +955,14 @@ pub const SIG = struct { /// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall. pub const Sigaction = extern struct { - pub const handler_fn = fn (c_int) callconv(.C) void; - pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void; + pub const handler_fn = switch (builtin.zig_backend) { + .stage1 => fn (c_int) callconv(.C) void, + else => *const fn (c_int) callconv(.C) void, + }; + pub const sigaction_fn = switch (builtin.zig_backend) { + .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void, + else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void, + }; /// signal options flags: c_uint, |
