Jacob Young
a744fbd22f
x86_64: fix ~/! miscomps
2025-09-27 18:30:52 -04:00
Andrew Kelley
2a88a6a456
Merge pull request #24497 from ziglang/aro-translate-c
...
compiler: update aro and translate-c to latest; delete clang translate-c
2025-09-25 14:18:49 -07:00
Jacob Young
6257f4abb7
x86_64: improve support for large enums
...
Closes #25247
2025-09-24 21:20:27 -07:00
Andrew Kelley
01132e0cf8
remove behavior test that depended on std.zig.c_translation
...
behavior tests may not depend on this namespace.
2025-09-24 20:01:19 -07:00
Andrew Kelley
ba137783ed
forbid trivial local address returned from functions ( #25333 )
...
progress towards #25312
2025-09-23 23:37:53 +00: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
20925f2957
Revert "frontend: another packedStructFieldPtrInfo fix"
...
This reverts commit dedccecda944f88a5278c12c24ffbea46126de63.
2025-09-20 18:33:01 -07:00
Jacob Young
5144f10ec9
aarch64: fix behavior failures
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
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
Jacob Young
2fdf0e29b3
aarch64: enable fixed behavior
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
426af68b7d
compiler: require comptime vector indexes
2025-09-20 18:33:00 -07:00
Andrew Kelley
0e47bd16da
add behavior test: return undefined pointer from function
...
This clarifies that it is legal to return an invalid pointer from a
function, provided that such pointer is not dereferenced.
This matches current status quo of the language. Any change to this
should be a proposal that argues for different semantics.
It is also legal in C to return a pointer to a local. The C backend
lowers such thing directly, so the corresponding warning in C must be
disabled (`-Wno-return-stack-address`).
2025-09-20 17:49:00 -07:00
Alex Rønne Petersen
beb25b0430
test: disable some vector ctz/clz behavior tests on LoongArch with LSX
...
https://github.com/llvm/llvm-project/issues/159529
2025-09-18 12:42:24 +02:00
Alex Rønne Petersen
f90548e740
test: skip alternative constraints behavior test on LoongArch
...
https://github.com/llvm/llvm-project/issues/159200
2025-09-18 12:42:14 +02:00
Silver
65a6bf1267
fix handling of comptime-only union fields in Type.getUnionLayout ( #25182 )
...
Fixes #25180
2025-09-17 21:39:47 -07:00
Andrew Kelley
8e9f2f02d2
Merge pull request #25201 from jacobly0/x86_64-addsat
...
x86_64: fix strictness edge cases in `+|`
2025-09-17 21:15:03 -07:00
mlugg
32a1aabff7
std.math.big.int: normalize zero result for small multiplications
...
Resolves : #25221
2025-09-13 17:13:27 +01:00
Jacob Young
e313b387a0
x86_64: delete usages of avx2 vpack?s??
...
This instruction actually has fairly useless semantics, and even the
cases that were semantically correct could save 1 cycle of latency by
using a different sequnce involving the avx version instead.
Closes #25174
2025-09-10 22:40:26 -04:00
Jacob Young
1a0a9d7d59
x86_64: fix strictness edge cases in +|
...
Closes #25145
2025-09-10 21:01:13 -04:00
Andrew Kelley
2d9df0bb1a
behavior tests: remove one dependency on std lib
2025-09-07 20:23:05 -07:00
Andrew Kelley
5701617b27
wasm backend: disable failing behavior tests
2025-09-07 20:11:37 -07:00
Andrew Kelley
4f7aecd348
disable failing behavior test on stage2_aarch64
2025-09-05 23:47:56 -07:00
Andrew Kelley
b9a63433b7
behavior tests: update for new requirement
...
packed union fields must all have matching bit sizes
2025-09-05 19:44:54 -07:00
Luna Schwalbe
63ab0c0302
Reenable vector tests for armeb/thumbeb
...
https://github.com/ziglang/zig/issues/22060 has been fixed by upstream.
2025-09-04 16:23:18 +02:00
Andrew Kelley
ec36e0609f
delete behavior test that depends on std.fmt
...
behavior tests should have minimal dependency on std
2025-08-31 12:49:18 -07:00
Alex Rønne Petersen
0071917621
test: disable some varargs behavior tests on RISC-V due to LLVM 21 regression
...
https://github.com/ziglang/zig/issues/25064
2025-08-30 06:36:41 +02:00
Alex Rønne Petersen
2cb412ff1b
test: re-enable a bunch of vector behavior tests on hexagon
2025-08-30 06:36:41 +02:00
Andrew Kelley
4b948e8556
Merge pull request #25036 from ziglang/GenericWriter
...
std.Io: delete GenericWriter, AnyWriter, and null_writer
2025-08-29 03:48:45 -07:00
Andrew Kelley
640c11171b
LLVM backend:fix align 1 sret parameter load returned
...
closes #25067
2025-08-29 03:37:18 -07:00
Andrew Kelley
4f510dba10
behavior tests: remove "variadic functions" dependency on std lib
2025-08-28 18:30:57 -07:00
Andrew Kelley
ea3471288a
update GenericWriter usage found by test-cases
2025-08-28 18:30:57 -07:00
David Rubin
73a0b5441b
AstGen: forward result type through unary float builtins
...
Uses a new `float_op_result_ty` ZIR instruction tag.
2025-08-28 15:46:12 +01:00
antlilja
52178d14b0
Add test for passing extern function to function
2025-08-15 18:29:06 -04:00
Matthew Lugg
b87b958687
Merge pull request #24816 from mlugg/small-fixes
...
two small fixes
2025-08-13 23:55:21 +01:00
Matthew Lugg
a495628862
Merge pull request #24674 from Justus2308/undef-shift-bitwise
...
Sema: Improve comptime arithmetic undef handling
2025-08-13 14:04:59 +01:00
David Rubin
8e02f9f70d
sema: strip @splat operand result type before checking it
2025-08-13 13:55:57 +01:00
Matthew Lugg
6e90ce2536
Merge pull request #24381 from Justus2308/switch-better-underscore
...
Enhance switch on non-exhaustive enums
2025-08-13 13:54:15 +01:00
mlugg
ba6abd71c2
llvm: unions which are equivalent to enums are not by-ref
...
The LLVM backend lowers unions where all fields are zero-bit as
equivalent to their backing enum, and expects them to have the same
by-ref-ness in at least one place in the backend, probably more.
Resolves : #23577
2025-08-13 11:36:16 +01:00
Justus Klausecker
0ef26d113a
make >> a compile error with any undef arg ; add a bunch of test cases
2025-08-12 16:33:57 +02:00
Justus Klausecker
d0586da18e
Sema: Improve comptime arithmetic undef handling
...
This commit expands on the foundations laid by https://github.com/ziglang/zig/pull/23177
and moves even more `Sema`-only functionality from `Value`
to `Sema.arith`. Specifically all shift and bitwise operations,
`@truncate`, `@bitReverse` and `@byteSwap` have been moved and
adapted to the new rules around `undefined`.
Especially the comptime shift operations have been basically
rewritten, fixing many open issues in the process.
New rules applied to operators:
* `<<`, `@shlExact`, `@shlWithOverflow`, `>>`, `@shrExact`: compile error if any operand is undef
* `<<|`, `~`, `^`, `@truncate`, `@bitReverse`, `@byteSwap`: return undef if any operand is undef
* `&`, `|`: Return undef if both operands are undef, turn undef into actual `0xAA` bytes otherwise
Additionally this commit canonicalizes the representation of
aggregates with all-undefined members in the `InternPool` by
disallowing them and enforcing the usage of a single typed
`undef` value instead. This reduces the amount of edge cases
and fixes a bunch of bugs related to partially undefined vecs.
List of operations directly affected by this patch:
* `<<`, `<<|`, `@shlExact`, `@shlWithOverflow`
* `>>`, `@shrExact`
* `&`, `|`, `~`, `^` and their atomic rmw + reduce pendants
* `@truncate`, `@bitReverse`, `@byteSwap`
2025-08-12 16:33:57 +02:00
Andrew Kelley
749f10af49
std.ArrayList: make unmanaged the default
2025-08-11 15:52:49 -07:00
Jacob Young
38dfa6537e
cbe: emit nonstring attribute
...
Closes #24545
2025-08-11 11:30:51 -07:00
Ali Cheraghi
64563e2fff
test: skip tests that were not meant to pass for spirv
2025-08-09 13:27:45 +03:30
Andrew Kelley
3fb86841cc
Merge pull request #24661 from alichraghi/spv4
...
spirv: refactor and remove deduplication ISel
2025-08-07 20:55:50 -07:00