@zigc/lib 0.16.0 → 0.17.0-dev.131
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/c/fcntl.zig +6 -1
- package/c/inttypes.zig +0 -10
- package/c/math.zig +46 -122
- package/c/pthread.zig +57 -0
- package/c/search.zig +1 -27
- package/c/stdlib/drand48.zig +0 -57
- package/c/stdlib.zig +0 -100
- package/c/string.zig +20 -7
- package/c/strings.zig +0 -38
- package/c/unistd.zig +27 -26
- package/c/wchar.zig +10 -0
- package/c.zig +2 -2
- package/compiler/aro/aro/CodeGen.zig +5 -6
- package/compiler/aro/aro/Compilation.zig +17 -14
- package/compiler/aro/aro/Driver.zig +14 -13
- package/compiler/aro/aro/Parser.zig +20 -15
- package/compiler/aro/aro/Pragma.zig +3 -2
- package/compiler/aro/aro/Preprocessor.zig +9 -6
- package/compiler/aro/aro/pragmas/message.zig +3 -2
- package/compiler/aro/aro/text_literal.zig +3 -2
- package/compiler/aro/assembly_backend/x86_64.zig +4 -4
- package/compiler/build_runner.zig +0 -2
- package/compiler/reduce/Walk.zig +7 -7
- package/compiler/test_runner.zig +2 -2
- package/compiler/translate-c/Translator.zig +6 -2
- package/compiler/translate-c/main.zig +1 -1
- package/compiler_rt/cos.zig +0 -2
- package/compiler_rt/divmodei4.zig +40 -17
- package/compiler_rt/exp.zig +1 -6
- package/compiler_rt/exp2.zig +1 -6
- package/compiler_rt/exp_f128.zig +377 -0
- package/compiler_rt/fabs.zig +0 -2
- package/compiler_rt/fma.zig +0 -2
- package/compiler_rt/fmax.zig +0 -2
- package/compiler_rt/fmin.zig +0 -2
- package/compiler_rt/fmod.zig +0 -2
- package/compiler_rt/limb64.zig +876 -15
- package/compiler_rt/log.zig +0 -2
- package/compiler_rt/log10.zig +0 -2
- package/compiler_rt/log2.zig +0 -2
- package/compiler_rt/mulXi3.zig +1 -1
- package/compiler_rt/round.zig +0 -2
- package/compiler_rt/sin.zig +0 -2
- package/compiler_rt/sincos.zig +0 -2
- package/compiler_rt/sqrt.zig +0 -2
- package/compiler_rt/ssp.zig +1 -1
- package/compiler_rt/tan.zig +0 -2
- package/compiler_rt/trunc.zig +0 -2
- package/compiler_rt/udivmodei4.zig +28 -0
- package/fuzzer.zig +2 -0
- package/libc/musl/arch/mipsn32/syscall_arch.h +35 -32
- package/package.json +1 -1
- package/std/Build/Cache.zig +6 -6
- package/std/Build/Step/Compile.zig +0 -1
- package/std/Build/Step/Run.zig +2 -2
- package/std/Build/Step.zig +2 -4
- package/std/Build/WebServer.zig +2 -2
- package/std/Build.zig +0 -3
- package/std/Io/Dir.zig +7 -2
- package/std/Io/Dispatch.zig +3 -13
- package/std/Io/File/Writer.zig +8 -6
- package/std/Io/Reader.zig +8 -9
- package/std/Io/Semaphore.zig +112 -17
- package/std/Io/Terminal.zig +1 -1
- package/std/Io/Threaded.zig +171 -37
- package/std/Io/Uring.zig +13 -15
- package/std/Io/Writer.zig +46 -42
- package/std/Io/net.zig +11 -11
- package/std/Io.zig +90 -26
- package/std/SemanticVersion.zig +1 -1
- package/std/Target/Query.zig +2 -2
- package/std/Target.zig +50 -5
- package/std/array_hash_map.zig +9 -18
- package/std/builtin.zig +4 -0
- package/std/c/haiku.zig +3 -0
- package/std/c/serenity.zig +1 -6
- package/std/c.zig +89 -7
- package/std/compress/flate/Decompress.zig +2 -3
- package/std/compress/zstd/Decompress.zig +2 -4
- package/std/crypto/Certificate.zig +13 -1
- package/std/crypto/ascon.zig +75 -33
- package/std/crypto/codecs/asn1/Oid.zig +12 -1
- package/std/crypto/codecs/base64_hex_ct.zig +2 -4
- package/std/crypto/ml_kem.zig +2 -9
- package/std/crypto/tls/Client.zig +79 -4
- package/std/crypto/tls.zig +1 -1
- package/std/crypto.zig +1 -0
- package/std/debug/Pdb.zig +1 -1
- package/std/debug.zig +4 -3
- package/std/fmt.zig +8 -3
- package/std/fs/path.zig +6 -4
- package/std/heap/BufferFirstAllocator.zig +165 -0
- package/std/heap.zig +2 -126
- package/std/http/Client.zig +21 -24
- package/std/http.zig +3 -4
- package/std/json/Scanner.zig +2 -2
- package/std/os/emscripten.zig +1 -1
- package/std/os/linux/IoUring.zig +2 -0
- package/std/os/linux/aarch64.zig +41 -12
- package/std/os/linux/arc.zig +173 -0
- package/std/os/linux/arm.zig +41 -12
- package/std/os/linux/hexagon.zig +33 -11
- package/std/os/linux/loongarch32.zig +41 -13
- package/std/os/linux/loongarch64.zig +41 -12
- package/std/os/linux/m68k.zig +41 -13
- package/std/os/linux/mips.zig +67 -36
- package/std/os/linux/mips64.zig +60 -29
- package/std/os/linux/mipsn32.zig +60 -29
- package/std/os/linux/or1k.zig +41 -12
- package/std/os/linux/powerpc.zig +41 -12
- package/std/os/linux/powerpc64.zig +41 -12
- package/std/os/linux/riscv32.zig +41 -12
- package/std/os/linux/riscv64.zig +41 -12
- package/std/os/linux/s390x.zig +44 -7
- package/std/os/linux/sparc64.zig +83 -52
- package/std/os/linux/thumb.zig +52 -36
- package/std/os/linux/x32.zig +41 -12
- package/std/os/linux/x86.zig +42 -13
- package/std/os/linux/x86_64.zig +41 -12
- package/std/os/linux.zig +412 -436
- package/std/os/uefi/tables/boot_services.zig +9 -8
- package/std/os.zig +41 -0
- package/std/process.zig +1 -1
- package/std/sort.zig +3 -3
- package/std/zig/Ast/Render.zig +3 -3
- package/std/zig/AstGen.zig +44 -98
- package/std/zig/AstRlAnnotate.zig +0 -11
- package/std/zig/BuiltinFn.zig +0 -32
- package/std/zig/LibCInstallation.zig +4 -3
- package/std/zig/Parse.zig +7 -7
- package/std/zig/WindowsSdk.zig +13 -13
- package/std/zig/Zir.zig +50 -63
- package/std/zig/ZonGen.zig +6 -5
- package/std/zig/llvm/Builder.zig +12 -12
- package/std/zig.zig +1 -10
- package/std/zip.zig +5 -5
- package/zig.h +340 -1
- package/libc/mingw/math/fdiml.c +0 -24
- package/libc/mingw/winpthreads/spinlock.c +0 -82
- package/libc/musl/src/linux/tee.c +0 -8
- package/libc/musl/src/math/fdimf.c +0 -10
- package/libc/musl/src/math/fdiml.c +0 -18
- package/libc/musl/src/string/strdup.c +0 -10
- package/libc/musl/src/string/strndup.c +0 -12
- package/libc/musl/src/string/wcsdup.c +0 -10
- package/libc/musl/src/thread/pthread_spin_destroy.c +0 -6
- package/libc/musl/src/thread/pthread_spin_init.c +0 -6
- package/libc/musl/src/thread/pthread_spin_lock.c +0 -8
- package/libc/musl/src/thread/pthread_spin_trylock.c +0 -7
- package/libc/musl/src/thread/pthread_spin_unlock.c +0 -7
- package/libc/musl/src/unistd/dup2.c +0 -20
- package/libc/musl/src/unistd/dup3.c +0 -26
- package/libc/wasi/thread-stub/pthread_spin_lock.c +0 -8
- package/libc/wasi/thread-stub/pthread_spin_trylock.c +0 -8
- package/libc/wasi/thread-stub/pthread_spin_unlock.c +0 -7
package/compiler_rt/log.zig
CHANGED
|
@@ -443,8 +443,6 @@ pub fn logq(a: f128) callconv(.c) f128 {
|
|
|
443
443
|
|
|
444
444
|
pub fn logl(x: c_longdouble) callconv(.c) c_longdouble {
|
|
445
445
|
switch (@typeInfo(c_longdouble).float.bits) {
|
|
446
|
-
16 => return __logh(x),
|
|
447
|
-
32 => return logf(x),
|
|
448
446
|
64 => return log(x),
|
|
449
447
|
80 => return __logx(x),
|
|
450
448
|
128 => return logq(x),
|
package/compiler_rt/log10.zig
CHANGED
|
@@ -177,8 +177,6 @@ pub fn log10q(a: f128) callconv(.c) f128 {
|
|
|
177
177
|
|
|
178
178
|
pub fn log10l(x: c_longdouble) callconv(.c) c_longdouble {
|
|
179
179
|
switch (@typeInfo(c_longdouble).float.bits) {
|
|
180
|
-
16 => return __log10h(x),
|
|
181
|
-
32 => return log10f(x),
|
|
182
180
|
64 => return log10(x),
|
|
183
181
|
80 => return __log10x(x),
|
|
184
182
|
128 => return log10q(x),
|
package/compiler_rt/log2.zig
CHANGED
|
@@ -170,8 +170,6 @@ pub fn log2q(a: f128) callconv(.c) f128 {
|
|
|
170
170
|
|
|
171
171
|
pub fn log2l(x: c_longdouble) callconv(.c) c_longdouble {
|
|
172
172
|
switch (@typeInfo(c_longdouble).float.bits) {
|
|
173
|
-
16 => return __log2h(x),
|
|
174
|
-
32 => return log2f(x),
|
|
175
173
|
64 => return log2(x),
|
|
176
174
|
80 => return __log2x(x),
|
|
177
175
|
128 => return log2q(x),
|
package/compiler_rt/mulXi3.zig
CHANGED
|
@@ -63,7 +63,7 @@ fn DoubleInt(comptime T: type) type {
|
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
fn muldXi(comptime T: type, a: T, b: T) DoubleInt(T) {
|
|
66
|
+
pub fn muldXi(comptime T: type, a: T, b: T) DoubleInt(T) {
|
|
67
67
|
const DT = DoubleInt(T);
|
|
68
68
|
const word_t = compiler_rt.HalveInt(DT, false);
|
|
69
69
|
const bits_in_word_2 = @sizeOf(T) * 8 / 2;
|
package/compiler_rt/round.zig
CHANGED
|
@@ -142,8 +142,6 @@ pub fn roundq(x_: f128) callconv(.c) f128 {
|
|
|
142
142
|
|
|
143
143
|
pub fn roundl(x: c_longdouble) callconv(.c) c_longdouble {
|
|
144
144
|
switch (@typeInfo(c_longdouble).float.bits) {
|
|
145
|
-
16 => return __roundh(x),
|
|
146
|
-
32 => return roundf(x),
|
|
147
145
|
64 => return round(x),
|
|
148
146
|
80 => return __roundx(x),
|
|
149
147
|
128 => return roundq(x),
|
package/compiler_rt/sin.zig
CHANGED
|
@@ -189,8 +189,6 @@ pub fn sinq(x: f128) callconv(.c) f128 {
|
|
|
189
189
|
|
|
190
190
|
pub fn sinl(x: c_longdouble) callconv(.c) c_longdouble {
|
|
191
191
|
switch (@typeInfo(c_longdouble).float.bits) {
|
|
192
|
-
16 => return sinh(x),
|
|
193
|
-
32 => return sinf(x),
|
|
194
192
|
64 => return sin(x),
|
|
195
193
|
80 => return sinx(x),
|
|
196
194
|
128 => return sinq(x),
|
package/compiler_rt/sincos.zig
CHANGED
|
@@ -292,8 +292,6 @@ pub fn sincosq(x: f128, r_sin: *f128, r_cos: *f128) callconv(.c) void {
|
|
|
292
292
|
|
|
293
293
|
pub fn sincosl(x: c_longdouble, r_sin: *c_longdouble, r_cos: *c_longdouble) callconv(.c) void {
|
|
294
294
|
switch (@typeInfo(c_longdouble).float.bits) {
|
|
295
|
-
16 => return sincosh(x, r_sin, r_cos),
|
|
296
|
-
32 => return sincosf(x, r_sin, r_cos),
|
|
297
295
|
64 => return sincos(x, r_sin, r_cos),
|
|
298
296
|
80 => return sincosx(x, r_sin, r_cos),
|
|
299
297
|
128 => return sincosq(x, r_sin, r_cos),
|
package/compiler_rt/sqrt.zig
CHANGED
|
@@ -481,8 +481,6 @@ fn _Qp_sqrt(c: *f128, a: *f128) callconv(.c) void {
|
|
|
481
481
|
|
|
482
482
|
pub fn sqrtl(x: c_longdouble) callconv(.c) c_longdouble {
|
|
483
483
|
switch (@typeInfo(c_longdouble).float.bits) {
|
|
484
|
-
16 => return __sqrth(x),
|
|
485
|
-
32 => return sqrtf(x),
|
|
486
484
|
64 => return sqrt(x),
|
|
487
485
|
80 => return __sqrtx(x),
|
|
488
486
|
128 => return sqrtq(x),
|
package/compiler_rt/ssp.zig
CHANGED
|
@@ -24,7 +24,7 @@ extern fn memmove(dest: ?[*]u8, src: ?[*]const u8, n: usize) callconv(.c) ?[*]u8
|
|
|
24
24
|
comptime {
|
|
25
25
|
@export(&__stack_chk_fail, .{ .name = if (builtin.os.tag == .openbsd) "__stack_smash_handler" else "__stack_chk_fail", .linkage = compiler_rt.linkage, .visibility = compiler_rt.visibility });
|
|
26
26
|
symbol(&__chk_fail, "__chk_fail");
|
|
27
|
-
symbol(&__stack_chk_guard, "__stack_chk_guard");
|
|
27
|
+
symbol(&__stack_chk_guard, if (builtin.os.tag == .openbsd) "__guard_local" else "__stack_chk_guard");
|
|
28
28
|
symbol(&__strcpy_chk, "__strcpy_chk");
|
|
29
29
|
symbol(&__strncpy_chk, "__strncpy_chk");
|
|
30
30
|
symbol(&__strcat_chk, "__strcat_chk");
|
package/compiler_rt/tan.zig
CHANGED
|
@@ -164,8 +164,6 @@ pub fn tanq(x: f128) callconv(.c) f128 {
|
|
|
164
164
|
|
|
165
165
|
pub fn tanl(x: c_longdouble) callconv(.c) c_longdouble {
|
|
166
166
|
switch (@typeInfo(c_longdouble).float.bits) {
|
|
167
|
-
16 => return tanh(x),
|
|
168
|
-
32 => return tanf(x),
|
|
169
167
|
64 => return tan(x),
|
|
170
168
|
80 => return tanx(x),
|
|
171
169
|
128 => return tanq(x),
|
package/compiler_rt/trunc.zig
CHANGED
|
@@ -99,8 +99,6 @@ pub fn truncq(x: f128) callconv(.c) f128 {
|
|
|
99
99
|
|
|
100
100
|
pub fn truncl(x: c_longdouble) callconv(.c) c_longdouble {
|
|
101
101
|
switch (@typeInfo(c_longdouble).float.bits) {
|
|
102
|
-
16 => return __trunch(x),
|
|
103
|
-
32 => return truncf(x),
|
|
104
102
|
64 => return trunc(x),
|
|
105
103
|
80 => return __truncx(x),
|
|
106
104
|
128 => return truncq(x),
|
|
@@ -13,6 +13,8 @@ const max_limbs = std.math.divCeil(usize, 65535, 32) catch unreachable; // max s
|
|
|
13
13
|
comptime {
|
|
14
14
|
symbol(&__udivei4, "__udivei4");
|
|
15
15
|
symbol(&__umodei4, "__umodei4");
|
|
16
|
+
symbol(&__udivei5, "__udivei5");
|
|
17
|
+
symbol(&__umodei5, "__umodei5");
|
|
16
18
|
}
|
|
17
19
|
|
|
18
20
|
/// Get the value of a limb.
|
|
@@ -132,6 +134,32 @@ pub fn __umodei4(r_p: [*]u8, u_p: [*]const u8, v_p: [*]const u8, bits: usize) ca
|
|
|
132
134
|
@call(.always_inline, divmod, .{ null, r, u, v }) catch unreachable;
|
|
133
135
|
}
|
|
134
136
|
|
|
137
|
+
pub fn __udivei5(q_p: [*]u8, u_p: [*]const u8, v_p: [*]const u8, t_p: [*]u8, bits: usize) callconv(.c) void {
|
|
138
|
+
@setRuntimeSafety(compiler_rt.test_safety);
|
|
139
|
+
const byte_size = std.zig.target.intByteSize(&builtin.target, @intCast(bits));
|
|
140
|
+
const q: []u32 = @ptrCast(@alignCast(q_p[0..byte_size]));
|
|
141
|
+
const u: []const u32 = @ptrCast(@alignCast(u_p[0..byte_size]));
|
|
142
|
+
const v: []const u32 = @ptrCast(@alignCast(v_p[0..byte_size]));
|
|
143
|
+
const tu: []u32 = @ptrCast(@alignCast(t_p[0..byte_size]));
|
|
144
|
+
_ = tu;
|
|
145
|
+
const tv: []u32 = @ptrCast(@alignCast(t_p[byte_size..][0..byte_size]));
|
|
146
|
+
_ = tv;
|
|
147
|
+
@call(.always_inline, divmod, .{ q, null, u, v }) catch unreachable;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
pub fn __umodei5(r_p: [*]u8, u_p: [*]const u8, v_p: [*]const u8, t_p: [*]u8, bits: usize) callconv(.c) void {
|
|
151
|
+
@setRuntimeSafety(compiler_rt.test_safety);
|
|
152
|
+
const byte_size = std.zig.target.intByteSize(&builtin.target, @intCast(bits));
|
|
153
|
+
const r: []u32 = @ptrCast(@alignCast(r_p[0..byte_size]));
|
|
154
|
+
const u: []const u32 = @ptrCast(@alignCast(u_p[0..byte_size]));
|
|
155
|
+
const v: []const u32 = @ptrCast(@alignCast(v_p[0..byte_size]));
|
|
156
|
+
const tu: []u32 = @ptrCast(@alignCast(t_p[0..byte_size]));
|
|
157
|
+
_ = tu;
|
|
158
|
+
const tv: []u32 = @ptrCast(@alignCast(t_p[byte_size..][0..byte_size]));
|
|
159
|
+
_ = tv;
|
|
160
|
+
@call(.always_inline, divmod, .{ null, r, u, v }) catch unreachable;
|
|
161
|
+
}
|
|
162
|
+
|
|
135
163
|
test "__udivei4/__umodei4" {
|
|
136
164
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
|
137
165
|
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
|
package/fuzzer.zig
CHANGED
|
@@ -171,6 +171,8 @@ const Executable = struct {
|
|
|
171
171
|
|
|
172
172
|
const cache_dir = Io.Dir.cwd().createDirPathOpen(io, cache_dir_path, .{}) catch |e|
|
|
173
173
|
panic("failed to open directory '{s}': {t}", .{ cache_dir_path, e });
|
|
174
|
+
cache_dir.createDirPath(io, "tmp") catch |e|
|
|
175
|
+
panic("failed to create directory 'tmp': {t}", .{e});
|
|
174
176
|
log_f = cache_dir.createFile(io, "tmp/libfuzzer.log", .{ .truncate = false }) catch |e|
|
|
175
177
|
panic("failed to create file 'tmp/libfuzzer.log': {t}", .{e});
|
|
176
178
|
self.cache_f = cache_dir.createDirPathOpen(io, "f", .{}) catch |e|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
#define __SYSCALL_LL_E(x) (x)
|
|
2
2
|
#define __SYSCALL_LL_O(x) (x)
|
|
3
3
|
|
|
4
|
+
#define __scc(X) sizeof(1?(X):0ULL) < 8 ? (unsigned long) (X) : (long long) (X)
|
|
5
|
+
typedef long long syscall_arg_t;
|
|
6
|
+
|
|
4
7
|
#define SYSCALL_RLIM_INFINITY (-1UL/2)
|
|
5
8
|
|
|
6
9
|
#if __mips_isa_rev >= 6
|
|
@@ -13,9 +16,9 @@
|
|
|
13
16
|
"$14", "$15", "$24", "$25", "hi", "lo", "memory"
|
|
14
17
|
#endif
|
|
15
18
|
|
|
16
|
-
static inline long __syscall0(long n)
|
|
19
|
+
static inline long __syscall0(long long n)
|
|
17
20
|
{
|
|
18
|
-
register long r7 __asm__("$7");
|
|
21
|
+
register long long r7 __asm__("$7");
|
|
19
22
|
register long r2 __asm__("$2");
|
|
20
23
|
__asm__ __volatile__ (
|
|
21
24
|
"daddu $2,$0,%2 ; syscall"
|
|
@@ -25,10 +28,10 @@ static inline long __syscall0(long n)
|
|
|
25
28
|
return r7 && r2>0 ? -r2 : r2;
|
|
26
29
|
}
|
|
27
30
|
|
|
28
|
-
static inline long __syscall1(long n, long a)
|
|
31
|
+
static inline long __syscall1(long long n, long long a)
|
|
29
32
|
{
|
|
30
|
-
register long r4 __asm__("$4") = a;
|
|
31
|
-
register long r7 __asm__("$7");
|
|
33
|
+
register long long r4 __asm__("$4") = a;
|
|
34
|
+
register long long r7 __asm__("$7");
|
|
32
35
|
register long r2 __asm__("$2");
|
|
33
36
|
__asm__ __volatile__ (
|
|
34
37
|
"daddu $2,$0,%2 ; syscall"
|
|
@@ -38,11 +41,11 @@ static inline long __syscall1(long n, long a)
|
|
|
38
41
|
return r7 && r2>0 ? -r2 : r2;
|
|
39
42
|
}
|
|
40
43
|
|
|
41
|
-
static inline long __syscall2(long n, long a, long b)
|
|
44
|
+
static inline long __syscall2(long long n, long long a, long long b)
|
|
42
45
|
{
|
|
43
|
-
register long r4 __asm__("$4") = a;
|
|
44
|
-
register long r5 __asm__("$5") = b;
|
|
45
|
-
register long r7 __asm__("$7");
|
|
46
|
+
register long long r4 __asm__("$4") = a;
|
|
47
|
+
register long long r5 __asm__("$5") = b;
|
|
48
|
+
register long long r7 __asm__("$7");
|
|
46
49
|
register long r2 __asm__("$2");
|
|
47
50
|
|
|
48
51
|
__asm__ __volatile__ (
|
|
@@ -53,12 +56,12 @@ static inline long __syscall2(long n, long a, long b)
|
|
|
53
56
|
return r7 && r2>0 ? -r2 : r2;
|
|
54
57
|
}
|
|
55
58
|
|
|
56
|
-
static inline long __syscall3(long n, long a, long b, long c)
|
|
59
|
+
static inline long __syscall3(long long n, long long a, long long b, long long c)
|
|
57
60
|
{
|
|
58
|
-
register long r4 __asm__("$4") = a;
|
|
59
|
-
register long r5 __asm__("$5") = b;
|
|
60
|
-
register long r6 __asm__("$6") = c;
|
|
61
|
-
register long r7 __asm__("$7");
|
|
61
|
+
register long long r4 __asm__("$4") = a;
|
|
62
|
+
register long long r5 __asm__("$5") = b;
|
|
63
|
+
register long long r6 __asm__("$6") = c;
|
|
64
|
+
register long long r7 __asm__("$7");
|
|
62
65
|
register long r2 __asm__("$2");
|
|
63
66
|
|
|
64
67
|
__asm__ __volatile__ (
|
|
@@ -69,12 +72,12 @@ static inline long __syscall3(long n, long a, long b, long c)
|
|
|
69
72
|
return r7 && r2>0 ? -r2 : r2;
|
|
70
73
|
}
|
|
71
74
|
|
|
72
|
-
static inline long __syscall4(long n, long a, long b, long c, long d)
|
|
75
|
+
static inline long __syscall4(long long n, long long a, long long b, long long c, long long d)
|
|
73
76
|
{
|
|
74
|
-
register long r4 __asm__("$4") = a;
|
|
75
|
-
register long r5 __asm__("$5") = b;
|
|
76
|
-
register long r6 __asm__("$6") = c;
|
|
77
|
-
register long r7 __asm__("$7") = d;
|
|
77
|
+
register long long r4 __asm__("$4") = a;
|
|
78
|
+
register long long r5 __asm__("$5") = b;
|
|
79
|
+
register long long r6 __asm__("$6") = c;
|
|
80
|
+
register long long r7 __asm__("$7") = d;
|
|
78
81
|
register long r2 __asm__("$2");
|
|
79
82
|
|
|
80
83
|
__asm__ __volatile__ (
|
|
@@ -85,13 +88,13 @@ static inline long __syscall4(long n, long a, long b, long c, long d)
|
|
|
85
88
|
return r7 && r2>0 ? -r2 : r2;
|
|
86
89
|
}
|
|
87
90
|
|
|
88
|
-
static inline long __syscall5(long n, long a, long b, long c, long d, long e)
|
|
91
|
+
static inline long __syscall5(long long n, long long a, long long b, long long c, long long d, long long e)
|
|
89
92
|
{
|
|
90
|
-
register long r4 __asm__("$4") = a;
|
|
91
|
-
register long r5 __asm__("$5") = b;
|
|
92
|
-
register long r6 __asm__("$6") = c;
|
|
93
|
-
register long r7 __asm__("$7") = d;
|
|
94
|
-
register long r8 __asm__("$8") = e;
|
|
93
|
+
register long long r4 __asm__("$4") = a;
|
|
94
|
+
register long long r5 __asm__("$5") = b;
|
|
95
|
+
register long long r6 __asm__("$6") = c;
|
|
96
|
+
register long long r7 __asm__("$7") = d;
|
|
97
|
+
register long long r8 __asm__("$8") = e;
|
|
95
98
|
register long r2 __asm__("$2");
|
|
96
99
|
|
|
97
100
|
__asm__ __volatile__ (
|
|
@@ -102,14 +105,14 @@ static inline long __syscall5(long n, long a, long b, long c, long d, long e)
|
|
|
102
105
|
return r7 && r2>0 ? -r2 : r2;
|
|
103
106
|
}
|
|
104
107
|
|
|
105
|
-
static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f)
|
|
108
|
+
static inline long __syscall6(long long n, long long a, long long b, long long c, long long d, long long e, long long f)
|
|
106
109
|
{
|
|
107
|
-
register long r4 __asm__("$4") = a;
|
|
108
|
-
register long r5 __asm__("$5") = b;
|
|
109
|
-
register long r6 __asm__("$6") = c;
|
|
110
|
-
register long r7 __asm__("$7") = d;
|
|
111
|
-
register long r8 __asm__("$8") = e;
|
|
112
|
-
register long r9 __asm__("$9") = f;
|
|
110
|
+
register long long r4 __asm__("$4") = a;
|
|
111
|
+
register long long r5 __asm__("$5") = b;
|
|
112
|
+
register long long r6 __asm__("$6") = c;
|
|
113
|
+
register long long r7 __asm__("$7") = d;
|
|
114
|
+
register long long r8 __asm__("$8") = e;
|
|
115
|
+
register long long r9 __asm__("$9") = f;
|
|
113
116
|
register long r2 __asm__("$2");
|
|
114
117
|
|
|
115
118
|
__asm__ __volatile__ (
|
package/package.json
CHANGED
package/std/Build/Cache.zig
CHANGED
|
@@ -562,14 +562,14 @@ pub const Manifest = struct {
|
|
|
562
562
|
self.diagnostic = .{ .manifest_create = error.FileNotFound };
|
|
563
563
|
return error.CacheCheckFailed;
|
|
564
564
|
},
|
|
565
|
-
error.Canceled => return
|
|
565
|
+
error.Canceled => |e| return e,
|
|
566
566
|
else => |e| {
|
|
567
567
|
self.diagnostic = .{ .manifest_create = e };
|
|
568
568
|
return error.CacheCheckFailed;
|
|
569
569
|
},
|
|
570
570
|
}
|
|
571
571
|
},
|
|
572
|
-
error.Canceled => return
|
|
572
|
+
error.Canceled => |e| return e,
|
|
573
573
|
else => |e| {
|
|
574
574
|
self.diagnostic = .{ .manifest_create = e };
|
|
575
575
|
return error.CacheCheckFailed;
|
|
@@ -675,7 +675,7 @@ pub const Manifest = struct {
|
|
|
675
675
|
var manifest_reader = self.manifest_file.?.reader(io, &tiny_buffer); // Reads positionally from zero.
|
|
676
676
|
const limit: std.Io.Limit = .limited(manifest_file_size_max);
|
|
677
677
|
const file_contents = manifest_reader.interface.allocRemaining(gpa, limit) catch |err| switch (err) {
|
|
678
|
-
error.OutOfMemory => return
|
|
678
|
+
error.OutOfMemory => |e| return e,
|
|
679
679
|
error.StreamTooLong => return error.OutOfMemory,
|
|
680
680
|
error.ReadFailed => {
|
|
681
681
|
self.diagnostic = .{ .manifest_read = manifest_reader.err.? };
|
|
@@ -767,7 +767,7 @@ pub const Manifest = struct {
|
|
|
767
767
|
// Every digest before this one has been populated successfully.
|
|
768
768
|
return .{ .miss = .{ .file_digests_populated = idx } };
|
|
769
769
|
},
|
|
770
|
-
error.Canceled => return
|
|
770
|
+
error.Canceled => |e| return e,
|
|
771
771
|
else => |e| {
|
|
772
772
|
self.diagnostic = .{ .file_open = .{
|
|
773
773
|
.file_index = idx,
|
|
@@ -880,14 +880,14 @@ pub const Manifest = struct {
|
|
|
880
880
|
.read = true,
|
|
881
881
|
.truncate = true,
|
|
882
882
|
}) catch |err| switch (err) {
|
|
883
|
-
error.Canceled => return
|
|
883
|
+
error.Canceled => |e| return e,
|
|
884
884
|
else => return true,
|
|
885
885
|
};
|
|
886
886
|
defer file.close(io);
|
|
887
887
|
|
|
888
888
|
// Save locally and also save globally (we still hold the global lock).
|
|
889
889
|
const stat = file.stat(io) catch |err| switch (err) {
|
|
890
|
-
error.Canceled => return
|
|
890
|
+
error.Canceled => |e| return e,
|
|
891
891
|
else => return true,
|
|
892
892
|
};
|
|
893
893
|
man.recent_problematic_timestamp = stat.mtime;
|
|
@@ -1393,7 +1393,6 @@ fn getZigArgs(compile: *Compile, fuzz: bool) ![][]const u8 {
|
|
|
1393
1393
|
try zig_args.append("--debug-incremental");
|
|
1394
1394
|
}
|
|
1395
1395
|
|
|
1396
|
-
if (b.verbose_cimport) try zig_args.append("--verbose-cimport");
|
|
1397
1396
|
if (b.verbose_air) try zig_args.append("--verbose-air");
|
|
1398
1397
|
if (b.verbose_llvm_ir) |path| try zig_args.append(b.fmt("--verbose-llvm-ir={s}", .{path}));
|
|
1399
1398
|
if (b.verbose_llvm_bc) |path| try zig_args.append(b.fmt("--verbose-llvm-bc={s}", .{path}));
|
package/std/Build/Step/Run.zig
CHANGED
|
@@ -2704,7 +2704,7 @@ fn evalGeneric(run: *Run, spawn_options: process.SpawnOptions) !EvalGenericResul
|
|
|
2704
2704
|
} else {
|
|
2705
2705
|
var stdout_reader = stdout.readerStreaming(io, &.{});
|
|
2706
2706
|
stdout_bytes = stdout_reader.interface.allocRemaining(arena, run.stdio_limit) catch |err| switch (err) {
|
|
2707
|
-
error.OutOfMemory => return
|
|
2707
|
+
error.OutOfMemory => |e| return e,
|
|
2708
2708
|
error.ReadFailed => return stdout_reader.err.?,
|
|
2709
2709
|
error.StreamTooLong => return error.StdoutStreamTooLong,
|
|
2710
2710
|
};
|
|
@@ -2712,7 +2712,7 @@ fn evalGeneric(run: *Run, spawn_options: process.SpawnOptions) !EvalGenericResul
|
|
|
2712
2712
|
} else if (child.stderr) |stderr| {
|
|
2713
2713
|
var stderr_reader = stderr.readerStreaming(io, &.{});
|
|
2714
2714
|
stderr_bytes = stderr_reader.interface.allocRemaining(arena, run.stdio_limit) catch |err| switch (err) {
|
|
2715
|
-
error.OutOfMemory => return
|
|
2715
|
+
error.OutOfMemory => |e| return e,
|
|
2716
2716
|
error.ReadFailed => return stderr_reader.err.?,
|
|
2717
2717
|
error.StreamTooLong => return error.StderrStreamTooLong,
|
|
2718
2718
|
};
|
package/std/Build/Step.zig
CHANGED
|
@@ -282,8 +282,7 @@ pub fn make(s: *Step, options: MakeOptions) error{ MakeFailed, MakeSkipped }!voi
|
|
|
282
282
|
}
|
|
283
283
|
|
|
284
284
|
make_result catch |err| switch (err) {
|
|
285
|
-
error.MakeFailed => return
|
|
286
|
-
error.MakeSkipped => return error.MakeSkipped,
|
|
285
|
+
error.MakeFailed, error.MakeSkipped => |e| return e,
|
|
287
286
|
else => {
|
|
288
287
|
s.result_error_msgs.append(arena, @errorName(err)) catch @panic("OOM");
|
|
289
288
|
return error.MakeFailed;
|
|
@@ -845,8 +844,7 @@ fn failWithCacheError(
|
|
|
845
844
|
});
|
|
846
845
|
},
|
|
847
846
|
},
|
|
848
|
-
error.OutOfMemory => return
|
|
849
|
-
error.Canceled => return error.Canceled,
|
|
847
|
+
error.OutOfMemory, error.Canceled => |e| return e,
|
|
850
848
|
error.InvalidFormat => return s.fail("failed to check cache: invalid manifest file format", .{}),
|
|
851
849
|
}
|
|
852
850
|
}
|
package/std/Build/WebServer.zig
CHANGED
|
@@ -622,8 +622,8 @@ fn buildClientWasm(ws: *WebServer, arena: Allocator, optimize: std.builtin.Optim
|
|
|
622
622
|
defer body_buffer.deinit(gpa);
|
|
623
623
|
|
|
624
624
|
while (true) {
|
|
625
|
-
const header = stdout.takeStruct(Header, .little) catch |
|
|
626
|
-
error.ReadFailed => return
|
|
625
|
+
const header = stdout.takeStruct(Header, .little) catch |err| switch (err) {
|
|
626
|
+
error.ReadFailed => |e| return e,
|
|
627
627
|
error.EndOfStream => break,
|
|
628
628
|
};
|
|
629
629
|
body_buffer.clearRetainingCapacity();
|
package/std/Build.zig
CHANGED
|
@@ -38,7 +38,6 @@ verbose_cc: bool,
|
|
|
38
38
|
verbose_air: bool,
|
|
39
39
|
verbose_llvm_ir: ?[]const u8,
|
|
40
40
|
verbose_llvm_bc: ?[]const u8,
|
|
41
|
-
verbose_cimport: bool,
|
|
42
41
|
verbose_llvm_cpu_features: bool,
|
|
43
42
|
reference_trace: ?u32 = null,
|
|
44
43
|
invalid_user_input: bool,
|
|
@@ -278,7 +277,6 @@ pub fn create(
|
|
|
278
277
|
.verbose_air = false,
|
|
279
278
|
.verbose_llvm_ir = null,
|
|
280
279
|
.verbose_llvm_bc = null,
|
|
281
|
-
.verbose_cimport = false,
|
|
282
280
|
.verbose_llvm_cpu_features = false,
|
|
283
281
|
.invalid_user_input = false,
|
|
284
282
|
.allocator = arena,
|
|
@@ -377,7 +375,6 @@ fn createChildOnly(
|
|
|
377
375
|
.verbose_air = parent.verbose_air,
|
|
378
376
|
.verbose_llvm_ir = parent.verbose_llvm_ir,
|
|
379
377
|
.verbose_llvm_bc = parent.verbose_llvm_bc,
|
|
380
|
-
.verbose_cimport = parent.verbose_cimport,
|
|
381
378
|
.verbose_llvm_cpu_features = parent.verbose_llvm_cpu_features,
|
|
382
379
|
.reference_trace = parent.reference_trace,
|
|
383
380
|
.invalid_user_input = false,
|
package/std/Io/Dir.zig
CHANGED
|
@@ -1993,7 +1993,7 @@ pub fn setFileOwner(
|
|
|
1993
1993
|
owner: ?File.Uid,
|
|
1994
1994
|
group: ?File.Gid,
|
|
1995
1995
|
options: SetFileOwnerOptions,
|
|
1996
|
-
)
|
|
1996
|
+
) SetFileOwnerError!void {
|
|
1997
1997
|
return io.vtable.dirSetFileOwner(io.userdata, dir, sub_path, owner, group, options);
|
|
1998
1998
|
}
|
|
1999
1999
|
|
|
@@ -2032,9 +2032,14 @@ pub fn setTimestampsNow(
|
|
|
2032
2032
|
sub_path: []const u8,
|
|
2033
2033
|
options: SetTimestampsNowOptions,
|
|
2034
2034
|
) SetTimestampsError!void {
|
|
2035
|
-
return io.vtable.
|
|
2035
|
+
return io.vtable.dirSetTimestamps(io.userdata, dir, sub_path, .{
|
|
2036
2036
|
.follow_symlinks = options.follow_symlinks,
|
|
2037
2037
|
.access_timestamp = .now,
|
|
2038
2038
|
.modify_timestamp = .now,
|
|
2039
2039
|
});
|
|
2040
2040
|
}
|
|
2041
|
+
|
|
2042
|
+
test {
|
|
2043
|
+
_ = &setFileOwner;
|
|
2044
|
+
_ = &setTimestampsNow;
|
|
2045
|
+
}
|
package/std/Io/Dispatch.zig
CHANGED
|
@@ -459,7 +459,6 @@ pub fn io(ev: *Evented) Io {
|
|
|
459
459
|
.netConnectUnix = netConnectUnixUnavailable,
|
|
460
460
|
.netSocketCreatePair = netSocketCreatePairUnavailable,
|
|
461
461
|
.netSend = netSendUnavailable,
|
|
462
|
-
.netRead = netReadUnavailable,
|
|
463
462
|
.netWrite = netWriteUnavailable,
|
|
464
463
|
.netWriteFile = netWriteFileUnavailable,
|
|
465
464
|
.netClose = netClose,
|
|
@@ -1713,6 +1712,7 @@ fn operate(userdata: ?*anyopaque, operation: Io.Operation) Io.Cancelable!Io.Oper
|
|
|
1713
1712
|
},
|
|
1714
1713
|
.device_io_control => |*o| return .{ .device_io_control = try deviceIoControl(o) },
|
|
1715
1714
|
.net_receive => @panic("TODO implement net_receive operation"),
|
|
1715
|
+
.net_read => @panic("TODO implement net_read operation"),
|
|
1716
1716
|
}
|
|
1717
1717
|
}
|
|
1718
1718
|
|
|
@@ -2134,6 +2134,7 @@ fn batchDrainSubmitted(
|
|
|
2134
2134
|
},
|
|
2135
2135
|
.device_io_control => {},
|
|
2136
2136
|
.net_receive => @panic("TODO implement batched net_receive"),
|
|
2137
|
+
.net_read => @panic("TODO implement batched net_read"),
|
|
2137
2138
|
};
|
|
2138
2139
|
if (concurrency) return error.ConcurrencyUnavailable;
|
|
2139
2140
|
break :result try operate(ev, storage.submission.operation);
|
|
@@ -2193,6 +2194,7 @@ fn batchSourceEvent(context: ?*anyopaque) callconv(.c) void {
|
|
|
2193
2194
|
},
|
|
2194
2195
|
.device_io_control => unreachable,
|
|
2195
2196
|
.net_receive => @panic("TODO implement batched net_receive"),
|
|
2197
|
+
.net_read => @panic("TODO implement batched net_read"),
|
|
2196
2198
|
};
|
|
2197
2199
|
|
|
2198
2200
|
switch (pending.node.prev) {
|
|
@@ -4877,18 +4879,6 @@ fn netSendUnavailable(
|
|
|
4877
4879
|
return .{ error.NetworkDown, 0 };
|
|
4878
4880
|
}
|
|
4879
4881
|
|
|
4880
|
-
fn netReadUnavailable(
|
|
4881
|
-
userdata: ?*anyopaque,
|
|
4882
|
-
fd: net.Socket.Handle,
|
|
4883
|
-
data: [][]u8,
|
|
4884
|
-
) net.Stream.Reader.Error!usize {
|
|
4885
|
-
const ev: *Evented = @ptrCast(@alignCast(userdata));
|
|
4886
|
-
_ = ev;
|
|
4887
|
-
_ = fd;
|
|
4888
|
-
_ = data;
|
|
4889
|
-
return error.NetworkDown;
|
|
4890
|
-
}
|
|
4891
|
-
|
|
4892
4882
|
fn netWriteUnavailable(
|
|
4893
4883
|
userdata: ?*anyopaque,
|
|
4894
4884
|
handle: net.Socket.Handle,
|
package/std/Io/File/Writer.zig
CHANGED
|
@@ -162,9 +162,10 @@ fn sendFilePositional(w: *Writer, file_reader: *Io.File.Reader, limit: Io.Limit)
|
|
|
162
162
|
w.err = error.Canceled;
|
|
163
163
|
return error.WriteFailed;
|
|
164
164
|
},
|
|
165
|
-
error.EndOfStream
|
|
166
|
-
error.Unimplemented
|
|
167
|
-
error.ReadFailed
|
|
165
|
+
error.EndOfStream,
|
|
166
|
+
error.Unimplemented,
|
|
167
|
+
error.ReadFailed,
|
|
168
|
+
=> |e| return e,
|
|
168
169
|
else => |e| {
|
|
169
170
|
w.write_file_err = e;
|
|
170
171
|
return error.WriteFailed;
|
|
@@ -182,9 +183,10 @@ fn sendFileStreaming(w: *Writer, file_reader: *Io.File.Reader, limit: Io.Limit)
|
|
|
182
183
|
w.err = error.Canceled;
|
|
183
184
|
return error.WriteFailed;
|
|
184
185
|
},
|
|
185
|
-
error.EndOfStream
|
|
186
|
-
error.Unimplemented
|
|
187
|
-
error.ReadFailed
|
|
186
|
+
error.EndOfStream,
|
|
187
|
+
error.Unimplemented,
|
|
188
|
+
error.ReadFailed,
|
|
189
|
+
=> |e| return e,
|
|
188
190
|
else => |e| {
|
|
189
191
|
w.write_file_err = e;
|
|
190
192
|
return error.WriteFailed;
|
package/std/Io/Reader.zig
CHANGED
|
@@ -200,8 +200,7 @@ pub fn defaultDiscard(r: *Reader, limit: Limit) Error!usize {
|
|
|
200
200
|
var d: Writer.Discarding = .init(r.buffer);
|
|
201
201
|
var n = r.stream(&d.writer, limit) catch |err| switch (err) {
|
|
202
202
|
error.WriteFailed => unreachable,
|
|
203
|
-
error.ReadFailed => return
|
|
204
|
-
error.EndOfStream => return error.EndOfStream,
|
|
203
|
+
error.ReadFailed, error.EndOfStream => |e| return e,
|
|
205
204
|
};
|
|
206
205
|
// If `stream` wrote to `r.buffer` without going through the writer,
|
|
207
206
|
// we need to discard as much of the buffered data as possible.
|
|
@@ -379,7 +378,7 @@ pub fn appendRemainingAligned(
|
|
|
379
378
|
const n = stream(r, &a.writer, remaining) catch |err| switch (err) {
|
|
380
379
|
error.EndOfStream => return,
|
|
381
380
|
error.WriteFailed => return error.OutOfMemory,
|
|
382
|
-
error.ReadFailed => return
|
|
381
|
+
error.ReadFailed => |e| return e,
|
|
383
382
|
};
|
|
384
383
|
remaining = remaining.subtract(n).?;
|
|
385
384
|
}
|
|
@@ -400,7 +399,7 @@ pub fn appendRemainingUnlimited(r: *Reader, gpa: Allocator, list: *ArrayList(u8)
|
|
|
400
399
|
}
|
|
401
400
|
_ = streamRemaining(r, &a.writer) catch |err| switch (err) {
|
|
402
401
|
error.WriteFailed => return error.OutOfMemory,
|
|
403
|
-
error.ReadFailed => return
|
|
402
|
+
error.ReadFailed => |e| return e,
|
|
404
403
|
};
|
|
405
404
|
}
|
|
406
405
|
|
|
@@ -428,7 +427,7 @@ pub fn readVec(r: *Reader, data: [][]u8) Error!usize {
|
|
|
428
427
|
defer data[i] = buf;
|
|
429
428
|
return n + (r.vtable.readVec(r, data[i..]) catch |err| switch (err) {
|
|
430
429
|
error.EndOfStream => if (n == 0) return error.EndOfStream else 0,
|
|
431
|
-
error.ReadFailed => return
|
|
430
|
+
error.ReadFailed => |e| return e,
|
|
432
431
|
});
|
|
433
432
|
}
|
|
434
433
|
const n = seek - r.seek;
|
|
@@ -639,7 +638,7 @@ pub fn discardShort(r: *Reader, n: usize) ShortError!usize {
|
|
|
639
638
|
while (true) {
|
|
640
639
|
const discard_len = r.vtable.discard(r, .limited(remaining)) catch |err| switch (err) {
|
|
641
640
|
error.EndOfStream => return n - remaining,
|
|
642
|
-
error.ReadFailed => return
|
|
641
|
+
error.ReadFailed => |e| return e,
|
|
643
642
|
};
|
|
644
643
|
remaining -= discard_len;
|
|
645
644
|
if (remaining == 0) return n;
|
|
@@ -687,7 +686,7 @@ pub fn readSliceShort(r: *Reader, buffer: []u8) ShortError!usize {
|
|
|
687
686
|
data[0] = buffer[i..];
|
|
688
687
|
i += readVec(r, &data) catch |err| switch (err) {
|
|
689
688
|
error.EndOfStream => return i,
|
|
690
|
-
error.ReadFailed => return
|
|
689
|
+
error.ReadFailed => |e| return e,
|
|
691
690
|
};
|
|
692
691
|
if (buffer.len - i == 0) return buffer.len;
|
|
693
692
|
}
|
|
@@ -1009,7 +1008,7 @@ pub fn streamDelimiterLimit(
|
|
|
1009
1008
|
var remaining = @intFromEnum(limit);
|
|
1010
1009
|
while (remaining != 0) {
|
|
1011
1010
|
const available = Limit.limited(remaining).slice(r.peekGreedy(1) catch |err| switch (err) {
|
|
1012
|
-
error.ReadFailed => return
|
|
1011
|
+
error.ReadFailed => |e| return e,
|
|
1013
1012
|
error.EndOfStream => return @intFromEnum(limit) - remaining,
|
|
1014
1013
|
});
|
|
1015
1014
|
if (std.mem.findScalar(u8, available, delimiter)) |delimiter_index| {
|
|
@@ -1080,7 +1079,7 @@ pub fn discardDelimiterLimit(r: *Reader, delimiter: u8, limit: Limit) DiscardDel
|
|
|
1080
1079
|
var remaining = @intFromEnum(limit);
|
|
1081
1080
|
while (remaining != 0) {
|
|
1082
1081
|
const available = Limit.limited(remaining).slice(r.peekGreedy(1) catch |err| switch (err) {
|
|
1083
|
-
error.ReadFailed => return
|
|
1082
|
+
error.ReadFailed => |e| return e,
|
|
1084
1083
|
error.EndOfStream => return @intFromEnum(limit) - remaining,
|
|
1085
1084
|
});
|
|
1086
1085
|
if (std.mem.findScalar(u8, available, delimiter)) |delimiter_index| {
|