Jakub Konka
52066bf8e4
x86_64+macho: pass more behavior tests
2024-02-06 19:01:17 +01:00
Meghan Denny
46d592e485
do not enforce function parameters to be marked comptime if only called at comptime
2024-01-19 15:31:18 -08:00
dweiller
8108c9f4d2
test/behavior: replace all 'comptime expect' with 'comptime assert'
2024-01-15 20:55:01 +11:00
mlugg
9c16b2370d
test: update behavior to silence 'var is never mutated' errors
2023-11-19 09:57:03 +00:00
Jacob Young
f6f2708d82
x86_64: fix compiler rt test failures
2023-10-29 07:20:36 -04:00
Andrew Kelley
3fb301b16a
categorize fn ptr behavior test
...
move a function pointer test from bugs/xxx.zig to fn.zig
2023-10-27 12:43:34 -07:00
Jacob Young
27fe945a00
Revert "Revert "Merge pull request #17637 from jacobly0/x86_64-test-std""
...
This reverts commit 6f0198cadbe29294f2bf3153a27beebd64377566.
2023-10-22 15:46:43 -04:00
Andrew Kelley
6f0198cadb
Revert "Merge pull request #17637 from jacobly0/x86_64-test-std"
...
This reverts commit 0c99ba1eab63865592bb084feb271cd4e4b0357e, reversing
changes made to 5f92b070bf284f1493b1b5d433dd3adde2f46727.
This caused a CI failure when it landed in master branch due to a
128-bit `@byteSwap` in std.mem.
2023-10-22 12:16:35 -07:00
Jacob Young
9358a7528f
x86_64: fix crashes
2023-10-21 10:55:41 -04:00
Robin Voetter
faad97edff
spirv: update failing / passing tests
...
Some tests are now failing due to debug info changes, some tests
now pass due to improved compiler functionality.
2023-10-15 20:08:18 +02:00
Robin Voetter
075584a4d7
spirv: enable passing tests
2023-09-23 12:36:56 -07:00
Robin Voetter
79f7481575
spirv: disable failing tests
2023-09-23 12:36:44 -07:00
Jacob Young
817fa3af86
std: cleanup asm usage
...
After fixing some issues with inline assembly in the C backend, the std
cleanups have the side effect of making these functions compatible with
the backend, allowing it to be used on linux without linking libc.
2023-07-31 01:58:10 -04:00
mlugg
f26dda2117
all: migrate code to new cast builtin syntax
...
Most of this migration was performed automatically with `zig fmt`. There
were a few exceptions which I had to manually fix:
* `@alignCast` and `@addrSpaceCast` cannot be automatically rewritten
* `@truncate`'s fixup is incorrect for vectors
* Test cases are not formatted, and their error locations change
2023-06-24 16:56:39 -07:00
Jacob Young
a257e33fff
Type: remove arbitrary restrictions on param and return types
...
Opaque and `noreturn` makes sense since they don't represent real
values, but `null` and `undefined` are perfectly normal
comptime-only values.
Closes #16088
2023-06-20 21:51:01 -07:00
Eric Joldasov
d884d7050e
all: replace comptime try with try comptime
...
Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
2023-06-13 23:46:58 +06:00
Robin Voetter
65157d30ab
spirv: ptr_elem_val
...
Implements the ptr_elem_val air tag. Implementation is unified
with ptr_elem_ptr.
2023-05-20 17:30:23 +02:00
Robin Voetter
37aa343079
spirv: more passing tests
2023-05-20 17:30:22 +02:00
Jacob Young
904ffb41de
x86_64: implement calling function references
2023-05-15 03:07:51 -04:00
Ali Chraghi
ccc490ef68
setup spirv backend in behavior tests
2023-05-11 20:31:52 +02:00
Jacob Young
36a39267b8
x86_64: fix feature confusion
2023-05-03 04:25:14 -04:00
Jacob Young
6de457211f
behavior: update affected tests for the x86_64 backend
2023-05-01 19:22:52 -04:00
Jacob Young
894406b9d3
behavior: update passing cbe tests
2023-04-26 19:05:17 -04:00
Ian Johnson
2be347a2c8
Sema: allow method calls on optional pointers
2023-04-24 09:35:54 +03:00
Jacob Young
0cfc0d0d13
x86_64: implement struct_field_ptr for packed containers
2023-03-25 16:23:55 -04:00
Jacob Young
c51930b060
behavior: enable passing behavior tests on stage2_x86_64
2023-03-15 01:04:21 -04:00
Andrew Kelley
f0530385b5
update existing behavior tests and std lib to new for loop semantics
2023-02-18 19:17:21 -07:00
Veikka Tuominen
d284c00fda
Sema: handle lazy values in more places
...
* resolve lazy values in anon structs being passed to anytype params
* use `resolveMaybeUndefValIntable` where appropriate
Closes #14356
2023-01-22 00:12:36 +02:00
Veikka Tuominen
58c1d98c14
add tests for fixed stage1 bugs
...
Closes #4144
Closes #4255
Closes #4372
Closes #4375
Closes #4380
Closes #4417
Closes #4423
Closes #4476
Closes #4528
Closes #4562
Closes #4572
Closes #4597
Closes #4639
Closes #4672
Closes #4782
Closes #4955
Closes #4984
Closes #4997
Closes #5010
Closes #5114
Closes #5166
Closes #5173
Closes #5276
2022-12-31 20:49:02 -05:00
Andrew Kelley
357235d9de
add behavior test for ptrcasted function pointers
...
See #2626 . The runtime case is solved but comptime is not.
2022-12-27 15:19:00 -07:00
joachimschmidt557
d6e6162081
stage2 AArch64: unify callee-preserved regs on all targets
...
also enables many passing behavior tests
2022-12-27 21:17:52 +08:00
Koakuma
f9e9ba784f
stage2: sparc64: Skip unimplemented tests
2022-12-10 21:51:46 +07:00
Andrew Kelley
c8aba15c22
remove references to stage1 in behavior tests
...
Good riddance.
2022-12-06 19:06:48 -07:00
Veikka Tuominen
dc128f403b
Merge pull request #13446 from Vexu/stage2-fixes
...
Stage2 bug fixes
2022-11-07 14:17:26 +02:00
Veikka Tuominen
42db468dcb
Sema: make method call work with optionals and error unions
...
Closes #13414
2022-11-04 23:13:49 +02:00
Ali Chraghi
f5f1f8c666
all: rename i386 to x86
2022-11-04 00:09:27 +03:30
Jacob Young
09763435a8
cbe: support arrays in more places
2022-11-01 20:39:06 -04:00
Jacob Young
4765294ca4
cbe: get enough things working to support basic programs
...
* Enable advanced start support.
* Enable advanced test_runner support.
* Zig Language Reference's Hello World now works.
2022-10-25 05:11:29 -04:00
Jacob Young
e8bda9eb3a
cbe: implement ptr slice ptr
2022-10-25 05:11:29 -04:00
Jacob Young
5eafc10bf4
cbe: fix global access fix
2022-10-25 05:11:29 -04:00
Jacob Young
525dcaecba
behavior: enable stage2_c tests that are currently passing
...
Also fix C warnings triggered by these tests.
2022-10-25 05:11:28 -04:00
Veikka Tuominen
560baf67ce
Sema: fix implicit cast from extern fn to fn ptr
...
Closes #12570
2022-08-22 11:16:36 +03:00
Veikka Tuominen
b55a5007fa
Sema: fix parameter of type 'T' must be comptime error
...
Closes #12519
Closes #12505
2022-08-22 11:16:36 +03:00
Andrew Kelley
6a4df2778e
AstGen: fix ref instruction injection for functions
...
For the expressions regarding return type, alignment,
parameter type, etc.
2022-07-27 16:19:23 -07:00
joachimschmidt557
960c142060
stage2 ARM: implement basic intCast and error union wrapping
2022-06-25 21:16:51 +02:00
joachimschmidt557
ddd5b57045
stage2 AArch64: complete genTypedValue
2022-05-27 16:43:11 -04:00
Andrew Kelley
0e830b1630
clean up behavior tests
...
Split big test into the two separate things it is testing.
Add missing checks to the test which revealed the test is not actually
passing yet for the C backend.
2022-04-22 07:52:21 -07:00
Annika L
c992b25908
C backend: Fix array declarations
2022-04-22 07:42:47 -07:00
Daniele Cocca
8238d4b335
CBE: fix C output after PR #11302 , reenable tests
...
Commit 052079c99455d01312d377d72fa1b8b5c0b22aad surfaced two issues with
the generated C code:
- renderInt128() contained a seemingly unnecessary assertion to verify
that the high 64 bits of the number were nonzero, dating back to
9bf1681990fe87a6b2e5fc644a89f1aece304579. I removed it.
- renderValue() didn't have any special handling for undefined structs,
falling back to printing "{}" which generated invalid expressions
such as "return {}" for functions returning structs, whereas
"return (S){}" is the correct form. I changed it accordingly.
At the same time I'm reenabling the relevant tests.
2022-03-29 02:28:20 -04:00
Mitchell Hashimoto
8fbac2e86d
stage2: runtime safety check integer cast truncating bits
2022-03-27 09:20:37 -07:00