Commit Graph

37947 Commits

Author SHA1 Message Date
Alex Rønne Petersen fa03fd5248 Revert "test: skip alternative constraints behavior test on LoongArch"
This reverts commit f90548e740.

The bug was fixed in LLVM 22.
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen b01cc264e1 Revert "std.math.modf: disable vector test on LoongArch with LSX"
This reverts commit 35d2b1e99a.

The bug was fixed in LLVM 22.
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 96bbe31cda Revert "test: disable some vector ctz/clz behavior tests on LoongArch with LSX"
This reverts commit beb25b0430.

The bug was fixed in LLVM 22.
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 7d3aee4bae Revert "std.zig.system: Force soft_float feature on for MIPS soft float targets."
This reverts commit 71a237e764.

The bug was fixed in LLVM 22.
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 804642b8fe std.zig.system.x86: improve AVX10 detection 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 3641dfcd1d std.zig.system.x86: require OS APX save support for APX features 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 8e15618d18 std.zig.system.x86: detect more APX features 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen adc3e6001e std.zig.system.x86: detect Diamonds Rapids, Wildcat Lake, and Nova Lake 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen ec0d6201c2 std.zig.system.x86: fix prefetchi detection on AMD 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen e0d56643d3 std.zig.system.arm: add detection for a bunch more cores 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 0cd5490f08 std.zig.system.windows: update aarch64 CPU feature detection 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 961e5b9f76 std.os.windows: update PF feature flags from winnt.h 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen f009c76f53 test: disable switch on pointer type behavior test with LLVM
See: https://github.com/llvm/llvm-project/issues/176634

ref https://github.com/ziglang/zig/issues/23509
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 826b46d7bc compiler: fix and simplify DllMainCRTStartup handling
See: https://github.com/llvm/llvm-project/pull/171680
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 76332b6b4d compiler: let LLVM set the 64bit feature from the target triple on powerpc targets 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 07ba7fdb05 compiler: let LLVM set the x32 feature from the target triple on x86 targets 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen e88307dc40 llvm: wire up the xtensa backend
As of LLVM 22, it can produce assembly and object files. No LLD support,
however, so using it is still a bit of a pain.
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen cb8817473a llvm: switch to wasip<n> for preview wasi versions in triples 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen f8f3b948e3 llvm: switch most targets to using half and fp128 IR types
As of LLVM 22, most backends can (finally) handle legalization of these types as
necessary, so we don't need to do it ourselves anymore.

closes https://github.com/ziglang/zig/issues/23674
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 9627d35990 compiler-rt: additionally export __trunctfhf2 as __trunckfhf2 on powerpc
This is the name LLVM 22 expects.
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 2e64f348f1 llvm: update data layout strings to LLVM 22 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen b1d1e108b7 zig cc: update options data to LLVM 22 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 5110fadf3a std.Target: update CPU and feature data to LLVM 22 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen d629b4c98b libtsan: backport llvm/llvm-project#183411
https://github.com/llvm/llvm-project/pull/183411
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 3df246905f libtsan: update to LLVM 22 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen 20f08ad09c libunwind: update to LLVM 22 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen 78591e1d98 libcxx: update to LLVM 22 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen c32618eed0 libcxxabi: update to LLVM 22 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen c81170dcd6 zig cc: update intrinsic headers to LLVM 22 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen 1b7ec080c9 zig cc: update driver files to LLVM 22 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen 3e7678a761 cmake: update to LLVM 22
closes https://codeberg.org/ziglang/zig/issues/30558
2026-04-22 15:31:56 +02:00
Alex Rønne Petersen 692bd03489 std.zig.llvm.Builder: fix writing u64 max constant for type bit_count > 64 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen 022fcc5869 std.Target: fuchsia supports arm/thumb now 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen 0c796adb87 zig cc: define __CRT__NO_INLINE for MinGW-w64 targets
See added comment for why.
2026-04-22 15:31:56 +02:00
Matthew Lugg 2f7fd0dd42 Compilation: fix writeDepFile with no file system inputs 2026-04-22 15:13:06 +02:00
Matthew Lugg 0c54cb1c9b Compilation: add link objects to file system inputs 2026-04-22 15:13:06 +02:00
Matthew Lugg 1b55ca18ef cbe: add missing cast of overflow arithmetic out pointer 2026-04-22 10:08:48 +02:00
Ryan Liptak cfde9303ff Fetch: Fix zip fetching when cache directory doesn't have tmp dir
Fixes #31964
2026-04-21 18:07:36 +02:00
Andrew Kelley b5d8966e05 Merge pull request 'package fetching fixes and enhancements' (#31992) from fetch-enhancements into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31992
2026-04-21 18:06:13 +02:00
Andrew Kelley 74b56501b3 fetch: fix the check against package paths escaping root 2026-04-20 21:45:12 -07:00
Andrew Kelley 4636a761cb fetch: fix "unable to open" error message 2026-04-20 19:59:17 -07:00
Andrew Kelley bc9fabcc3f zig fetch: add --debug-log [scope] arg 2026-04-20 19:58:39 -07:00
Andrew Kelley 3a9b16db44 zig fetch: detect global vs local mode via --save
Makes `zig fetch` only fetch globally, just like it used to. However, if
`--save` (or any variant) is used, then it also fetches locally.

When fetching by path, the hash is always computed, recompressed tarball
is always created, always overwrites any existing global cache entry.

closes #31818
closes #31866 (only requires build.zig file when --save is passed)
2026-04-20 18:45:16 -07:00
Ryan Liptak 3252a05531 Prefer <err> => |e| return e over <err> => return <err>
Avoids the potential for a typo on the `return <err>` side of the prong
2026-04-20 18:03:14 -07:00
Andrew Kelley f887bea4d3 fix overridden pkg dir path
the previous code made it relative to the build directory

also add a corresponding env var and logic for build command
2026-04-20 16:38:05 -07:00
Jan200101 5586a1f4ee zig fetch: add option to overwrite the package directory 2026-04-20 16:38:05 -07:00
Frank Denis 98cc059622 crypto.asn1.Oid: Reject empty OID encodings (#31983)
The DER decoder accepted zero-length OID payloads producing an Oid value that would panic later.

Co-authored-by: Frank Denis <github@pureftpd.org>
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31983
Reviewed-by: Andrew Kelley <andrew@ziglang.org>
Co-authored-by: Frank Denis <jedisct1@noreply.codeberg.org>
Co-committed-by: Frank Denis <jedisct1@noreply.codeberg.org>
2026-04-20 21:54:04 +02:00
Frank Denis 98ddebc380 std.crypto.Certificate: fix UTCTime year interpretation
UTCTime years in the range 50-99 must map to 1950-1999, but the
parser unconditionally added 2000, producing dates 100 years in the
future.

This caused verify() to accept certificates whose validity actually
expired decades ago.

Change that to match what OpenSSL, BoringSSL, etc. do
2026-04-20 21:45:08 +02:00
Frank Denis 525aff6048 std.crypto.ascon: fix streaming XOF/CXOF
AsconXof128 and AsconCxof128 were applying the padding in update()
calls. That was totally fine for one-shot hashing, but not for
streaming (multiple update() calls before finalization).
2026-04-20 18:29:46 +02:00
Frank Denis 3a07f50dab std.crypto.ml_kem tests: simplify incV
We don't need to reimplement 16-byte subtraction, just use a
u128. As a bonus, that handles the theoretical case of an all-0xff
value properly.
2026-04-20 18:27:22 +02:00