Andrew Kelley
34d7cf075e
std.posix: skip flaky test
...
tracked by #24380
2025-07-14 18:38:50 -07:00
Andrew Kelley
e4ebbdb354
std.c: add missing netbsd and freebsd MSG flags
2025-07-14 09:35:38 -07:00
Andrew Kelley
b510482525
std.fs.File.Reader.seekTo: add missing int cast
2025-07-14 00:21:20 -07:00
Andrew Kelley
524e2e19a5
std.Io.Writer.Discarding: fix drain calculation
2025-07-14 00:18:13 -07:00
Andrew Kelley
0c0d94a6da
std.net: wasi does not have unix sockets
2025-07-14 00:16:49 -07:00
Andrew Kelley
36f356254c
align those @fieldParentPtr casts
2025-07-14 00:16:49 -07:00
Andrew Kelley
890f1fa848
make msghdr.iovlen unsigned
...
I don't care what C headers say. This value is never supposed to be
negative.
2025-07-14 00:16:49 -07:00
Andrew Kelley
9a1f4cb011
std.net: update to new I/O API
2025-07-14 00:16:49 -07:00
Andrew Kelley
5496901e71
std.Io.Reader.appendRemaining: add missing assert
2025-07-14 00:14:21 -07:00
Andrew Kelley
093fe02b75
add adaptToNewApi to std.Io.Reader as well
2025-07-14 00:14:21 -07:00
Andrew Kelley
96a4e9b866
std.crypto: fix Sha1 namespace
2025-07-14 00:14:21 -07:00
xdBronch
5a8acc9115
fix some llvm ir printer bugs
2025-07-14 08:31:54 +02:00
Brandon Black
e8a4e47d38
Add setsid to std.(c|posix)
...
The interface and errors for this seem to be very universal and
generic. Note Linux already has this defined as a syscall as well.
2025-07-14 07:26:49 +02:00
Andrew Kelley
e7b18a7ce6
std.crypto: remove inline from most functions
...
To quote the language reference,
It is generally better to let the compiler decide when to inline a
function, except for these scenarios:
* To change how many stack frames are in the call stack, for debugging
purposes.
* To force comptime-ness of the arguments to propagate to the return
value of the function, as in the above example.
* Real world performance measurements demand it. Don't guess!
Note that inline actually restricts what the compiler is allowed to do.
This can harm binary size, compilation speed, and even runtime
performance.
`zig run lib/std/crypto/benchmark.zig -OReleaseFast`
[-before-] vs {+after+}
md5: [-990-] {+998+} MiB/s
sha1: [-1144-] {+1140+} MiB/s
sha256: [-2267-] {+2275+} MiB/s
sha512: [-762-] {+767+} MiB/s
sha3-256: [-680-] {+683+} MiB/s
sha3-512: [-362-] {+363+} MiB/s
shake-128: [-835-] {+839+} MiB/s
shake-256: [-680-] {+681+} MiB/s
turboshake-128: [-1567-] {+1570+} MiB/s
turboshake-256: [-1276-] {+1282+} MiB/s
blake2s: [-778-] {+789+} MiB/s
blake2b: [-1071-] {+1086+} MiB/s
blake3: [-1148-] {+1137+} MiB/s
ghash: [-10044-] {+10033+} MiB/s
polyval: [-9726-] {+10033+} MiB/s
poly1305: [-2486-] {+2703+} MiB/s
hmac-md5: [-991-] {+998+} MiB/s
hmac-sha1: [-1134-] {+1137+} MiB/s
hmac-sha256: [-2265-] {+2288+} MiB/s
hmac-sha512: [-765-] {+764+} MiB/s
siphash-2-4: [-4410-] {+4438+} MiB/s
siphash-1-3: [-7144-] {+7225+} MiB/s
siphash128-2-4: [-4397-] {+4449+} MiB/s
siphash128-1-3: [-7281-] {+7374+} MiB/s
aegis-128x4 mac: [-73385-] {+74523+} MiB/s
aegis-256x4 mac: [-30160-] {+30539+} MiB/s
aegis-128x2 mac: [-66662-] {+67267+} MiB/s
aegis-256x2 mac: [-16812-] {+16806+} MiB/s
aegis-128l mac: [-33876-] {+34055+} MiB/s
aegis-256 mac: [-8993-] {+9087+} MiB/s
aes-cmac: 2036 MiB/s
x25519: [-20670-] {+16844+} exchanges/s
ed25519: [-29763-] {+29576+} signatures/s
ecdsa-p256: [-4762-] {+4900+} signatures/s
ecdsa-p384: [-1465-] {+1500+} signatures/s
ecdsa-secp256k1: [-5643-] {+5769+} signatures/s
ed25519: [-21926-] {+21721+} verifications/s
ed25519: [-51200-] {+50880+} verifications/s (batch)
chacha20Poly1305: [-1189-] {+1109+} MiB/s
xchacha20Poly1305: [-1196-] {+1107+} MiB/s
xchacha8Poly1305: [-1466-] {+1555+} MiB/s
xsalsa20Poly1305: [-660-] {+620+} MiB/s
aegis-128x4: [-76389-] {+78181+} MiB/s
aegis-128x2: [-53946-] {+53495+} MiB/s
aegis-128l: [-27219-] {+25621+} MiB/s
aegis-256x4: [-49351-] {+49542+} MiB/s
aegis-256x2: [-32390-] {+32366+} MiB/s
aegis-256: [-8881-] {+8944+} MiB/s
aes128-gcm: [-6095-] {+6205+} MiB/s
aes256-gcm: [-5306-] {+5427+} MiB/s
aes128-ocb: [-8529-] {+13974+} MiB/s
aes256-ocb: [-7241-] {+9442+} MiB/s
isapa128a: [-204-] {+214+} MiB/s
aes128-single: [-133857882-] {+134170944+} ops/s
aes256-single: [-96306962-] {+96408639+} ops/s
aes128-8: [-1083210101-] {+1073727253+} ops/s
aes256-8: [-762042466-] {+767091778+} ops/s
bcrypt: 0.009 s/ops
scrypt: [-0.018-] {+0.017+} s/ops
argon2: [-0.037-] {+0.060+} s/ops
kyber512d00: [-206057-] {+205779+} encaps/s
kyber768d00: [-156074-] {+150711+} encaps/s
kyber1024d00: [-116626-] {+115469+} encaps/s
kyber512d00: [-181149-] {+182046+} decaps/s
kyber768d00: [-136965-] {+135676+} decaps/s
kyber1024d00: [-101307-] {+100643+} decaps/s
kyber512d00: [-123624-] {+123375+} keygen/s
kyber768d00: [-69465-] {+70828+} keygen/s
kyber1024d00: [-43117-] {+43208+} keygen/s
2025-07-13 18:26:13 +02:00
Marcos Gutiérrez Alonso
f97baca6f6
Add documentation to std.crypto.aes_gcm.AesGcm.encrypt ( #24427 )
2025-07-13 07:33:08 +00:00
mlugg
549a466dd1
std.Io.Reader: encourage inlining hot buffer check
...
Resolves : #24424
2025-07-12 23:52:13 +02:00
Carmen
5b4e982169
std.os.uefi.tables: ziggify boot and runtime services ( #23441 )
...
* std.os.uefi.tables: ziggify boot and runtime services
* avoid T{} syntax
Co-authored-by: linusg <mail@linusgroh.de>
* misc fixes
* work
* self-review quickfixes
* dont make MemoryMapSlice generic
* more review fixes, work
* more work
* more work
* review fixes
* update boot/runtime services references throughout codebase
* self-review fixes
* couple of fixes i forgot to commit earlier
* fixes from integrating in my own project
* fixes from refAllDeclsRecursive
* Apply suggestions from code review
Co-authored-by: truemedian <truemedian@gmail.com>
* more fixes from review
* fixes from project integration
* make natural alignment of Guid align-8
* EventRegistration is a new opaque type
* fix getNextHighMonotonicCount
* fix locateProtocol
* fix exit
* partly revert 7372d65
* oops exit data_len is num of bytes
* fixes from project integration
* MapInfo consistency, MemoryType update per review
* turn EventRegistration back into a pointer
* forgot to finish updating MemoryType methods
* fix IntFittingRange calls
* set uefi.Page nat alignment
* Back out "set uefi.Page nat alignment"
This backs out commit cdd9bd6f7f5fb763f994b8fbe3e1a1c2996a2393.
* get rid of some error.NotFound-s
* fix .exit call in panic
* review comments, add format method
* fix resetSystem data alignment
* oops, didnt do a final refAllDeclsRecursive i guess
* review comments
* writergate update MemoryType.format
* fix rename
---------
Co-authored-by: linusg <mail@linusgroh.de>
Co-authored-by: truemedian <truemedian@gmail.com>
2025-07-12 17:18:53 +00:00
Alex Rønne Petersen
681d324c49
std.Build.Step.Run: Set WINEDEBUG=-all for -fwine by default.
...
This silences the excessive default stderr logging from Wine. The user can still
override this by setting WINEDEBUG in the environment; this just provides a more
sensible default.
Closes #24139 .
2025-07-12 00:03:02 +02:00
mochalins
61eff7b6dd
std: Fix Io.Reader.Limited and add test
2025-07-11 17:46:14 +02:00
Atlas Yu
2cda4cfb39
std.posix.send: should expect ConnectionRefused
...
Closes : #20219
2025-07-11 13:06:13 +02:00
Andrew Kelley
b60e9f2e85
Merge pull request #24394 from ziglang/fixes
...
buffering fixes
2025-07-11 10:56:24 +02:00
Linus Groh
eb37552536
Remove numerous things deprecated during the 0.14 release cycle
...
Basically everything that has a direct replacement or no uses left.
Notable omissions:
- std.ArrayHashMap: Too much fallout, needs a separate cleanup.
- std.debug.runtime_safety: Too much fallout.
- std.heap.GeneralPurposeAllocator: Lots of references to it remain, not
a simple find and replace as "debug allocator" is not equivalent to
"general purpose allocator".
- std.io.Reader: Is being reworked at the moment.
- std.unicode.utf8Decode(): No replacement, needs a new API first.
- Manifest backwards compat options: Removal would break test data used
by TestFetchBuilder.
- panic handler needs to be a namespace: Many tests still rely on it
being a function, needs a separate cleanup.
2025-07-11 08:17:43 +02:00
Anton Serov
d83b95cbf4
fixed .fixed flush recursion
2025-07-11 05:17:31 +02:00
Andrew Kelley
e255415498
std: add some missing doc comments
2025-07-10 16:52:29 -07:00
Andrew Kelley
88e50b30c3
std.debug.print: provide a small buffer
2025-07-10 16:52:29 -07:00
Andrew Kelley
bd5745ddf2
std.log.defaultLog: provide a small buffer
2025-07-10 16:52:29 -07:00
Andrew Kelley
5360968e03
std: rename io to Io in preparation
...
This commit is non-breaking.
std.io is deprecated in favor of std.Io, in preparation for that
namespace becoming an interface.
2025-07-11 01:16:27 +02:00
Andrew Kelley
43fba5ea83
Merge pull request #24387 from ziglang/std.log.default_level
...
std.log: adjust default level for ReleaseSmall to include info + bonus cleanup
2025-07-10 14:56:33 +02:00
Andrew Kelley
1a998886c8
Merge pull request #24329 from ziglang/writergate
...
Deprecates all existing std.io readers and writers in favor of the newly
provided std.io.Reader and std.io.Writer which are non-generic and have the
buffer above the vtable - in other words the buffer is in the interface, not
the implementation. This means that although Reader and Writer are no longer
generic, they are still transparent to optimization; all of the interface
functions have a concrete hot path operating on the buffer, and only make
vtable calls when the buffer is full.
2025-07-10 12:04:27 +02:00
Andrew Kelley
40d74e4287
std: refactor to use Alignment.of
2025-07-09 23:07:18 -07:00
Andrew Kelley
36cf22c55c
std.log: adjust default level for ReleaseSmall to include info
...
it was kind of wild to not do this before. sorry!
2025-07-09 23:03:35 -07:00
Alex Rønne Petersen
820f1a23a5
std: Disable std.zon parse float on dynamic x86-linux-musl
...
https://github.com/ziglang/zig/issues/23922#issuecomment-3054296672
2025-07-10 06:52:01 +02:00
Andrew Kelley
10d6db5d7d
std.io.Writer: remove some unimplemented functions
...
YAGNI
2025-07-09 20:01:15 -07:00
Andrew Kelley
aa1bdb43e0
std.io.Writer.writeStructEndian: fix packed structs
2025-07-09 20:01:15 -07:00
Andrew Kelley
dce08d9a57
std.Build.Cache: remove debugging remnants
...
oops!
2025-07-09 20:01:15 -07:00
Andrew Kelley
55bced9563
std.fs.File.Writer: fix splat alias bug
...
same deal as previous commit
2025-07-09 20:01:15 -07:00
Andrew Kelley
9e52febeeb
std.io.Writer.writeSplatHeader: fix splat alias bug
...
pointer comparison cannot be used since the buffers may alias
2025-07-09 18:29:10 -07:00
Andrew Kelley
09cdcf67e1
std.io.Writer.writeSplat: simplify and fix
2025-07-09 17:52:36 -07:00
Andrew Kelley
ab84dcc824
std.io.Reader: make vtable contract more consistent
2025-07-09 17:30:05 -07:00
Andrew Kelley
c072cf2bb8
std.io.Reader.peekDelimiterInclusive: simplify and fix
2025-07-09 17:18:23 -07:00
Andrew Kelley
93ac76594a
std: fmt.format to io.Writer.print
...
allows reverting format -> deprecatedFormat, plus I think this is a
nicer place for the function.
2025-07-09 15:31:02 -07:00
Andrew Kelley
4d93545ded
chicken out and allow ascii string alignment
2025-07-09 15:17:07 -07:00
Andrew Kelley
2468766a89
std: forbid alignment formatting options sometimes
2025-07-09 15:07:45 -07:00
Andrew Kelley
51a9a6aab6
std: replace formatInteger with formatNumber
2025-07-09 14:54:54 -07:00
Andrew Kelley
bc2cf0c173
eliminate all uses of std.io.Writer.count except for CBE
2025-07-09 09:32:07 -07:00
Andrew Kelley
d345a10054
std.os.freebsd.copy_file_range: add missing error.Unexpected
2025-07-08 16:53:02 -07:00
Andrew Kelley
81b0c99915
std.zig.system.linux: update API usage
2025-07-08 15:15:21 -07:00
Andrew Kelley
1dcb20d27e
std.fmt: refactor to remove cacheString
...
when this kind of trick is needed, do it inline
2025-07-08 11:07:23 -07:00
Andrew Kelley
fc335a3a48
update format strings in os/windows/test.zig
2025-07-08 08:46:31 -07:00
Andrew Kelley
83c4000319
std: revert big int test to master branch
...
oops, it depends on usize
2025-07-08 08:36:04 -07:00