Alex Rønne Petersen
7b92d5f405
std.pie: fix register constraint in getDynamicSymbol() for s390x ( #25327 )
...
If the compiler happens to pick `ret = r0`, then this will assemble to
`ag r0, 0` which is obviously not what we want. Using `a` instead of `r` will
ensure that we get an appropriate address register, i.e. `r1` through `r15`.
Re-enable pie_linux for s390x-linux which was disabled in
ed7ff0b693037078f451a7c6c1124611060f4892.
2025-09-22 18:36:47 +02:00
Alex Rønne Petersen
26825e9506
Merge pull request #25324 from alexrp/freebsd
...
Some changes to prepare for FreeBSD CI
2025-09-22 05:04:31 +02:00
Alex Rønne Petersen
16c18b835e
ci: stop building FreeBSD module tests on x86_64-linux
...
They're now built on the x86_64-freebsd machine.
2025-09-22 01:39:29 +02:00
alexrp
3675074c7c
ci: add x86_64-freebsd scripts
2025-09-22 01:37:32 +02:00
alexrp
b3432c2796
test: disable some stack trace tests on FreeBSD
2025-09-22 01:37:32 +02:00
alexrp
b2d2b441b2
test: disable test-link on FreeBSD
...
https://github.com/ziglang/zig/issues/25323
2025-09-22 01:37:32 +02:00
alexrp
f7d62009ff
std.posix: remove bogus assert that SIGRTMAX < NSIG
2025-09-22 01:37:32 +02:00
alexrp
0700ec35bd
compiler: don't use self-hosted backend on any BSD yet
...
There are some blocking bugs in the self-hosted ELF linker.
2025-09-22 01:37:32 +02:00
Jacob Young
f58200e3f2
Elf2: create a new linker from scratch
...
This iteration already has significantly better incremental support.
Closes #24110
2025-09-21 14:09:14 -07:00
Andrew Kelley
2a97e0af6d
CI: stop testing x86_64-macos
...
There are two reasons for this:
1. Apple is about to drop support for this target. Zig will keep support
but move it to a lower tier - one that does not require continuous CI
testing. Support for this target will be maintained by the enthusiasm
of contributors but will not block other bug fixes and enhancements.
2. This is our only non-self-hosted action runner. We are migrating away
from GitHub soon at which point this runner will no longer be
available.
2025-09-21 12:36:50 -07:00
Alex Rønne Petersen
4d8dcccbd4
ci: temporarily disable riscv64-linux
...
GitHub sucks:
Sep 20 20:49:21 ganymede runsvc.sh[82817]: An error occured: Runner version v2.326.0 is deprecated and cannot receive messages.
Sep 20 20:49:21 ganymede runsvc.sh[82817]: Runner listener exited with error code 1
Sep 20 20:49:21 ganymede runsvc.sh[82817]: Runner listener exit with terminated error, stop the service, no retry needed.
2025-09-21 17:29:57 +02:00
Frank Denis
bdc31c9561
aarch64/zonCast: don't return a pointer to a stack element
...
Elements are computed at comptime, so don't declare them as "var".
2025-09-21 05:01:41 -07:00
Andrew Kelley
594cb38fcb
Merge pull request #25302 from ziglang/growCapacity
...
std: remove loop from growCapacity
2025-09-21 04:55:39 -07:00
Andrew Kelley
010d9a63f2
Merge pull request #25154 from ziglang/no-decl-val-3
...
rework byval ZIR instructions; forbid runtime vector indexes
2025-09-21 01:49:28 -07:00
Andrew Kelley
633162eb0c
add behavior test: comptime C pointer to optional pointer
2025-09-20 18:58:32 -07:00
Andrew Kelley
1c9ac9dbb7
add behavior test: avoid unused field function body compile error
2025-09-20 18:51:43 -07:00
Andrew Kelley
500afbf076
add behavior test: resist alias of explicit copy...
...
...of array passed as arg
closes #22906
2025-09-20 18:51:26 -07:00
Andrew Kelley
ed7ff0b693
allow some test cases to regress
...
tracked by #24061 - these should be re-enabled once that is solved.
2025-09-20 18:33:01 -07:00
mlugg
0e16d933be
fix rebase error
2025-09-20 18:33:01 -07:00
mlugg
20925f2957
Revert "frontend: another packedStructFieldPtrInfo fix"
...
This reverts commit dedccecda944f88a5278c12c24ffbea46126de63.
2025-09-20 18:33:01 -07:00
Jacob Young
f81a721e41
standalone: fix misaligned stack crash
2025-09-20 18:33:01 -07:00
Jacob Young
5144f10ec9
aarch64: fix behavior failures
2025-09-20 18:33:01 -07:00
Jacob Young
60cdacaff2
x86_64: rewrite vector element pointer access
2025-09-20 18:33:01 -07:00
Andrew Kelley
2ba03e98c8
disable failing stage2_aarch64 behavior tests
2025-09-20 18:33:01 -07:00
Andrew Kelley
5d8c1fb6ab
frontend: another packedStructFieldPtrInfo fix
...
it was calculating host integer size in a wrong way. just use integer
abi size
2025-09-20 18:33:01 -07:00
mlugg
baaf715d21
cases: update for new error
...
The latest bugfix reverted this case to its old behavior (which is a
reasonable behavior to have).
2025-09-20 18:33:01 -07:00
mlugg
fcc7e378f8
Revert "delete failing test case"
...
This reverts commit ba4d4602ab9bb0dc17fc0d57141d9324bdbb356d.
2025-09-20 18:33:01 -07:00
mlugg
2f9d8d5a9b
Zcu: fix analysis of type of decl with inferred type
...
If the `nav_ty` is resolved by the `nav_val`, then we need to also mark
the `nav_ty` as in progress when we begin resolving the `nav_val`.
2025-09-20 18:33:01 -07:00
Andrew Kelley
d7d50496d9
langref: don't assume too much about pointer to packed struct field
2025-09-20 18:33:01 -07:00
Andrew Kelley
725dec6aa7
Sema: add missed logic to checkPtrAttributes
...
It wasn't checking bit pointer data.
2025-09-20 18:33:01 -07:00
Andrew Kelley
7ffe068a79
delete failing test case
...
Matthew can revert this commit when he's ready to tackle the assertion
failure
2025-09-20 18:33:01 -07:00
Jacob Young
cbbb67c5df
x86_64: fix safety crashes in storeRegs
2025-09-20 18:33:01 -07:00
Andrew Kelley
0681bf06ab
frontend: packed struct field ptr no longer finds byte borders
...
technically breaking, but I doubt anyone will notice.
2025-09-20 18:33:01 -07:00
Andrew Kelley
e1a750655e
disable wasm backend coverage
...
Disabled due to no active maintainer (feel free to fix the failures and
then re-enable at any time). The failures occur due to backend
miscompilation of different AIR from the frontend.
2025-09-20 18:33:01 -07:00
Andrew Kelley
c369def08e
disable spirv64-vulkan coverage
...
Disabled due to no active maintainer (feel free to fix the failures and
then re-enable at any time). The failures occur due to changing AIR from
the frontend, and backend being incomplete.
2025-09-20 18:33:00 -07:00
Andrew Kelley
c0bbddb007
Sema: avoid ptr_add/ptr_sub instructions void elem type
2025-09-20 18:33:00 -07:00
Andrew Kelley
aacff8c800
add compile error coverage for dependency loop
2025-09-20 18:33:00 -07:00
Andrew Kelley
7b8a7989ef
frontend: additionally handle C pointers in ptrOptPayload
2025-09-20 18:33:00 -07:00
Jacob Young
2fdf0e29b3
aarch64: enable fixed behavior
2025-09-20 18:33:00 -07:00
Andrew Kelley
e5adfd87bc
translate-c: remove cases associated with runtime vector indexing
...
C translation is in the process of switching to be aro-based
(see #24497 )
That codebase will need to gain some kind of helper for translating C
code that uses runtime vector indexing.
2025-09-20 18:33:00 -07:00
Andrew Kelley
f0fe55a9bb
frontend: fix too strict assertion
...
field ptr can be based on C pointer
2025-09-20 18:33:00 -07:00
Jacob Young
f12c4f86fc
aarch64: implement ptr_slice_*_ptr
2025-09-20 18:33:00 -07:00
Andrew Kelley
5ec0a7d8a5
coerce vectors to arrays rather than inline for
2025-09-20 18:33:00 -07:00
Andrew Kelley
9b74651cd2
Sema: fix YAGNI violation
2025-09-20 18:33:00 -07:00
Andrew Kelley
4fef90fa92
Sema: more conservative elem_ptr_load implementation
...
like field_ptr_load, this now does byval operations when the lhs is
comptime-known.
2025-09-20 18:33:00 -07:00
Andrew Kelley
9afa6835df
frontend: replace elem_val_node with elem_ptr_load
...
avoids unnecessary copies
2025-09-20 18:33:00 -07:00
Andrew Kelley
95439c9820
std.Progress: avoid problematic catch syntax
2025-09-20 18:33:00 -07:00
Andrew Kelley
354c17869a
frontend: replace field_val and field_val_named
...
with field_ptr_load and field_ptr_named_load.
These avoid doing by-val load operations for structs that are
runtime-known while keeping the previous semantics for comptime-known
values.
2025-09-20 18:33:00 -07:00
Andrew Kelley
3bd62e1bb6
Sema: fix source location of "declared here" note
...
point at the var not at the init expression
2025-09-20 18:33:00 -07:00
Andrew Kelley
d00aee021b
x86 codegen: handle spilled tuples
2025-09-20 18:33:00 -07:00