HydroH
7aa42f47b7
allow @errorcast to cast error sets to error unions
2024-03-28 10:23:32 +00:00
Robin Voetter
2f9e37ade0
spirv: enable passing tests
2024-03-18 19:13:51 +01:00
Ali Chraghi
37b0aa600a
spirv: make rusticl the primary testing implementation
2024-02-09 09:27:08 +03:30
Veikka Tuominen
f782202910
Sema: do not emit @errorCast safety check when dest is adhoc inferred error set
...
Closes #17354
2024-01-29 13:48:45 +02:00
dweiller
8108c9f4d2
test/behavior: replace all 'comptime expect' with 'comptime assert'
2024-01-15 20:55:01 +11:00
Veikka Tuominen
804cee3b93
categorize behavior/bugs/<issueno>.zig tests
2024-01-06 16:49:41 -08:00
mlugg
9c16b2370d
test: update behavior to silence 'var is never mutated' errors
2023-11-19 09:57:03 +00:00
Robin Voetter
4bf27da6a6
Revert "Revert "Merge pull request #17657 from Snektron/spirv-recursive-ptrs""
...
This reverts commit 9f0359d78f9facc38418e32b0e8c1bf6f99f0d26 in an attempt to
make the tests pass again. The CI failure from that merge should be unrelated
to this commit.
2023-10-23 06:27:12 -04:00
Andrew Kelley
9f0359d78f
Revert "Merge pull request #17657 from Snektron/spirv-recursive-ptrs"
...
This reverts commit b822e841cda0adabe3fec260ff51c18508f7ee32, reversing
changes made to 0c99ba1eab63865592bb084feb271cd4e4b0357e.
This caused a CI failure when it landed in master branch.
2023-10-22 12:15:31 -07:00
Robin Voetter
6281ad91df
spirv: self-referential pointers via new fwd_ptr_type
...
Its a little ugly but it works.
2023-10-21 17:46:54 +02: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
Veikka Tuominen
0bdbd3e235
Sema: fix issues in @errorCast with error unions
2023-10-03 00:45:48 -07:00
Veikka Tuominen
63bd2bff12
Sema: add @errorCast which works for both error sets and error unions
...
Closes #17343
2023-10-01 17:00:01 +03:00
Robin Voetter
075584a4d7
spirv: enable passing tests
2023-09-23 12:36:56 -07:00
Robin Voetter
8895025688
spirv: air wrap_errunion_payload
2023-09-23 12:36:56 -07:00
Robin Voetter
79f7481575
spirv: disable failing tests
2023-09-23 12:36:44 -07:00
Andrew Kelley
e66190025f
frontend: make fn calls byval; fix false positive isNonErr
...
This commit does two things which seem unrelated at first, but,
together, solve a miscompilation, and potentially slightly speed up
compiler perf, at the expense of making #2765 trickier to implement in
the future.
Sema: avoid returning a false positive for whether an inferred error set
is comptime-known to be empty.
AstGen: mark function calls as not being interested in a result
location. This prevents the test case "ret_ptr doesn't cause own
inferred error set to be resolved" from being regressed. If we want to
accept and implement #2765 in the future, it will require solving this
problem a different way, but the principle of YAGNI tells us to go ahead
with this change.
Old ZIR looks like this:
%97 = ret_ptr()
%101 = store_node(%97, %100)
%102 = load(%97)
%103 = ret_is_non_err(%102)
New ZIR looks like this:
%97 = ret_type()
%101 = as_node(%97, %100)
%102 = ret_is_non_err(%101)
closes #15669
2023-07-27 10:12:08 -07:00
Andrew Kelley
a31ba25a3d
Merge pull request #16188 from kcbanner/fix_cbe_airErrUnionPayloadPtrSet
...
cbe: fix crash caused by calling `mod.intValue` on `type_inferred_error_set`
2023-06-24 21:53:59 -07: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
kcbanner
baa2b62e88
cbe: fix crash caused by calling mod.intValue on type_inferred_error_set
2023-06-24 13:49:24 -04:00
Eric Joldasov
50339f595a
all: zig fmt and rename "@XToY" to "@YFromX"
...
Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
2023-06-19 12:34:42 -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
Luuk de Gram
1042deb86f
enable passing behavior tests
2023-05-31 18:04:33 +02: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
Andrew Kelley
ad391ad399
Revert "Sema: handle recursive inferred errors better in analyzeIsNonErrComptimeOnly"
...
This reverts commit 5aa9628de3c6637f45b9d8cf8cbd19c422a74f6f.
This is a breaking language change and I do not agree with it. Please go
through the proposal process on this one.
2023-05-18 16:24:07 -07:00
Ali Chraghi
9c550721e4
spirv: lower float_to_int and int_to_float
2023-05-15 03:04:17 +03:30
Veikka Tuominen
68bacad804
Merge pull request #15643 from Vexu/fixes
...
make `@call` compile errors match regular calls
2023-05-13 12:52:16 +03:00
Veikka Tuominen
5aa9628de3
Sema: handle recursive inferred errors better in analyzeIsNonErrComptimeOnly
...
Closes #15669
2023-05-12 14:59:26 +03:00
Ali Chraghi
ccc490ef68
setup spirv backend in behavior tests
2023-05-11 20:31:52 +02:00
Jacob Young
1c53f0a6b0
Dwarf: workaround crash
2023-05-08 07:36:20 -04:00
Jacob Young
5900dc0580
x86_64: fix typos
2023-04-03 18:02:55 +02:00
Jacob Young
83a208c355
x86_64: implement large cmp
2023-04-02 04:49:53 -04:00
Jacob Young
677427bc3a
x86_64: implement error name
2023-04-02 04:49:53 -04:00
Jacob Young
3f4569bf18
codegen: fix backend breakage due to optional layout change
2023-03-21 08:49:54 +01:00
Jacob Young
f95faac5ae
x86_64: (re)implement optional ops
...
Note that this commit also changes the layout of optional for all
other backends using `src/codegen.zig` without updating them!
2023-03-21 08:49:54 +01:00
Jacob Young
24f0900ecb
x86_64: implement some error union ops
2023-03-21 08:49:54 +01:00
Jacob Young
c51930b060
behavior: enable passing behavior tests on stage2_x86_64
2023-03-15 01:04:21 -04:00
Ryan Liptak
9db084f43d
Add test for optional error set return types
...
Closes #5820
2023-02-03 14:48:08 +02:00
joachimschmidt557
09122650ba
stage2 AArch64: bump up alignment of stack items fitting in regs
...
This enables us to use more efficient loading and storing for these
small stack items
2023-01-03 19:56:09 +01:00
joachimschmidt557
1caf56c5fb
stage2 AArch64: implement errUnion{Err,Payload} for registers
2022-12-29 11:12:08 +01:00
Andrew Kelley
f4b067743f
add behavior test for optional error union return type
...
closes #1814
2022-12-27 13:46:57 -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
Andrew Kelley
6018a3ad39
add behavior test for empty error set inference
...
closes #1386
closes #7541
2022-12-18 18:37:12 -07: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
5d28d171df
Sema: adjust result type of anyerror field access
...
Closes #13448
2022-11-05 13:22:21 +02:00
Jacob Young
8b6a3ba74e
cbe: fix typedef declaration order
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
Jacob Young
6f3654ad69
c: implement @errorName
2022-10-25 05:11:28 -04:00