Commit Graph

1405 Commits

Author SHA1 Message Date
Jacob Young 77d06012c2 CBE: implement unsigned big int div and mod 2023-03-07 03:03:35 -05:00
Jacob Young c1d16a2b80 compiler_rt: fix rare case in udivei4
Unsigned integers are never less than zero, and so zig
helpfully deleted the entire case. :D

Closes #14816
2023-03-07 03:00:08 -05:00
Andrew Kelley 2641feb9b9 Merge pull request #14789 from jacobly0/ditype
llvm: fix use after free with pointers to optional slices
2023-03-05 16:32:51 -05:00
r00ster91 f1ae688d37 AstGen: ensure certain builtin functions return void
Fixes #14779

Co-authored-by: Veikka Tuominen <git@vexu.eu>
2023-03-05 23:01:17 +02:00
Jacob Young 8ea1c1932e behavior: disable failing tests 2023-03-05 04:25:04 -05:00
Jacob Young 7352d461cf behavior: fix comptime issue and disable failing test 2023-03-05 03:34:57 -05:00
Jacob Young 33fa25ba44 CBE: ensure uniqueness of more internal identifiers 2023-03-05 02:59:02 -05:00
Jacob Young 0b0298aff2 CBE: implement select and shuffle 2023-03-05 02:59:02 -05:00
Jacob Young aac4707902 CBE: implement splat 2023-03-05 02:59:02 -05:00
Jacob Young ba69ee488b CBE: implement vector truncate 2023-03-05 02:59:02 -05:00
Jacob Young 8f6da78fb1 CBE: implement vector element pointers 2023-03-05 02:59:02 -05:00
Jacob Young c478c7609e CBE: implement vector operations
Also, bigint add and sub which is all I was actually trying to do.
2023-03-05 02:59:02 -05:00
Jacob Young 93d696e84e CBE: implement some big integer and vector unary operations 2023-03-05 02:59:01 -05:00
Jacob Young a8f4ac2b94 CBE: implement big integer and vector comparisons 2023-03-05 02:59:01 -05:00
Jacob Young 874ae81f1b CBE: implement big integer literals 2023-03-05 02:59:01 -05:00
Andrew Kelley 16302578d5 add behavior test case for previous commit 2023-03-04 14:04:58 -07:00
Jakub Konka 18e6d1e819 Merge pull request #14781 from ziglang/codegen-cleanup
codegen: move common logic for generating typed values from each native backend into codegen.zig
2023-03-04 03:38:12 +01:00
r00ster91 e0d3904638 Ast: properly handle sentinel-terminated slices in tuple
Co-authored-by: Veikka Tuominen <git@vexu.eu>
2023-03-04 01:08:03 +02:00
Jakub Konka d8d8842190 arm: skip unimplemented behavior test for @fieldParentPtr 2023-03-03 18:42:29 +01:00
Jacob Young 1453a595aa CBE: reuse locals with the same CType instead of Type
Many `Type`s can correspond to the same `CType`, so this reduces the
number of used locals by 27760 when compiling only-c.

Also, disabled some tests that were only passing by accident and
shouldn't really be considered working.
2023-02-24 23:41:54 -05:00
Jacob Young f8aecef670 CBE: implement the future
Turns out f(...) will be supported one day.
2023-02-23 21:25:29 -05:00
Jacob Young 57f6adf85d CBE: implement c varargs
Removed some backend test skip checks for things disabled in std.
2023-02-23 01:21:59 -05:00
Jacob Young 597e8011f7 CType: fix lowering of generic function pointer 2023-02-23 00:29:23 -05:00
Jacob Young bdb1e014a0 CBE: cleanup field access
* Implement @fieldParentPtr on a union
 * Refactor field access to ensure that it is handled consistently
 * Remove `renderTypecast` as it is now behaves the same as `renderType`
2023-02-23 00:29:23 -05:00
Andrew Kelley c9e02d3e69 Merge pull request #14691 from jacobly0/ctype 2023-02-22 11:06:13 -05:00
Jacob Young 248fb40dcc CBE: fix windows test failures 2023-02-21 15:46:34 -05:00
Jacob Young 434c6f42ca behavior: enable passing CBE tests 2023-02-21 09:43:23 -05:00
Isaac Freund 05da5b32a8 Sema: implement @fieldParentPtr for unions 2023-02-21 15:57:13 +02:00
Jakub Konka dc1f50e505 Merge pull request #14685 from ziglang/bitcast-fixes
Bitcast fixes for self-hosted native backends
2023-02-20 23:01:21 +01:00
Jakub Konka 528c43233f arm: alloc new mcv in bitcast if cannot reuse operand 2023-02-20 12:13:14 +01:00
Jakub Konka a7de8dc2dd x86: alloc new mcv in bitcast if cannot reuse operand
Implement missing pointees when ptr is in register.
2023-02-20 10:52:26 +01:00
Andrew Kelley ec4cd87ed7 add test coverage for fixed bug. closes #5518 2023-02-19 21:18:27 -07:00
Andrew Kelley e778e47140 add test coverage for fixed bug. closes #5516 2023-02-19 21:18:27 -07:00
Andrew Kelley 680d79ebf9 add test coverage for fixed bug. closes #5508 2023-02-19 21:18:27 -07:00
Andrew Kelley ffdce5f98c add test coverage for fixed bug. closes #5497 2023-02-19 21:18:27 -07:00
Andrew Kelley 40c4c25e2b Sema: add missing coercion when checking for loop len 2023-02-18 19:20:19 -07:00
Andrew Kelley 8b05205bb7 implement error for unbounded for loops 2023-02-18 19:20:19 -07:00
Andrew Kelley 74db8c2e83 omit safety checks for element access in for loops
One of the main points of for loops is that you can safety check the
length once, before entering the loop, and then safely assume that every
element inside the loop is in bounds.

In master branch, the safety checks are incorrectly intact even inside
for loops. This commit fixes it. It's especially nice with multi-object
loops because the number of elided checks is N * M where N is how many
iterations and M is how many objects.
2023-02-18 19:20:19 -07:00
Andrew Kelley bcb72401d3 AstGen: add error for discard of unbounded counter 2023-02-18 19:17:21 -07:00
Andrew Kelley b13745ac03 disable failing x86_64 backend tests 2023-02-18 19:17:21 -07:00
Andrew Kelley b6a5e52dec add passing for loop test: two counters 2023-02-18 19:17:21 -07:00
Andrew Kelley f2a6a1756b Sema: fix for loops with comptime-known int ranges 2023-02-18 19:17:21 -07:00
Andrew Kelley f0530385b5 update existing behavior tests and std lib to new for loop semantics 2023-02-18 19:17:21 -07:00
Matt Knight 07630eb696 Value: implement writeToMemory for packed unions 2023-02-18 21:10:27 +02:00
Veikka Tuominen 7199d7c777 split @qualCast into @constCast and @volatileCast 2023-02-15 01:43:57 +02:00
Veikka Tuominen 31ed8d293d Sema: add missing peer type resolution for error unions
Closes #14077
2023-02-11 14:36:54 +02:00
Ryan Liptak 9db084f43d Add test for optional error set return types
Closes #5820
2023-02-03 14:48:08 +02:00
Andrew Kelley 6b7ad22981 Merge pull request #14477 from Vexu/fixes
Improve `@ptrCast` errors, fix some bugs
2023-02-01 23:31:52 -05:00
Veikka Tuominen 629c3108aa AstGen: fix orelse type coercion in call arguments
Closes #14506
2023-02-02 00:31:35 +02:00
Techatrix 47ff57ed7d wasm: apply request change 2023-01-31 17:01:56 +01:00