| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2023-03-21 | Value: implement reinterpreting enum field index as integer | Veikka Tuominen | |
| Closes #15019 | |||
| 2023-03-21 | Value: handle comparisons of runtime_values | Veikka Tuominen | |
| Closes #15004 | |||
| 2023-03-21 | llvm: fix lowering packed union initiated to zero-bit value | Veikka Tuominen | |
| Closes #14980 | |||
| 2023-03-17 | Sema: make @returnAddress return 0 at comptime | mlugg | |
| See also #14938. Resolves: #14931 | |||
| 2023-03-17 | Sema: allow dereferencing ill-defined pointers to zero-bit types at comptime | mlugg | |
| It doesn't matter if a pointer to a zero-bit (i.e. OPV) type is undefined or runtime-known; we still know the result of the dereference at comptime. Code may use this, for instance, when allocating zero-bit types: `@as(*void, undefined)` is entirely reasonable to use at runtime, since we know the pointer will never be accessed, thus it should be valid at comptime too. | |||
| 2023-03-15 | disable failing aarch64 backend behavior tests | Andrew Kelley | |
| 2023-03-15 | x86_64: handle duplicate prong deaths | Jacob Young | |
| 2023-03-15 | behavior: enable passing behavior tests on stage2_x86_64 | Jacob Young | |
| 2023-03-14 | Sema: allow comptime mutation of multiple array elements | mlugg | |
| Previously, if you had a pointer to multiple array elements and tried to write to it at comptime, it was incorrectly treated as a pointer to one specific array value, leading to an assertion down the line. If we try to mutate a value at an elem_ptr larger than the element type, we need to perform a modification to multiple array elements. This solution isn't ideal, since it will result in storePtrVal serializing the whole array, modifying the relevant parts, and storing it back. Ideally, it would only take the required elements. However, this change would have been more complex, and this is a fairly rare operation (nobody ever ran into the bug before after all), so it doesn't matter all that much. | |||
| 2023-03-13 | Sema: avoid panic on callconv(.C) generic return type | Ian Johnson | |
| Fixes #14854 | |||
| 2023-03-09 | sema: fix result ptr coercion array -> vector | John Schmidt | |
| Previously this worked for array to vector where the element type matched exactly (e.g `[4]u8` to `@Vector(4, u8)`) since that is performed with a simple `.bitcast` operation, but now it also works for types where the array is coercible to the vector type (e.g `[4]u8` to `@Vector(4, u16)`). | |||
| 2023-03-09 | sema: add peer type resolution for vectors | John Schmidt | |
| This is consistent with how coercion for vectors work. So now you can do this: ``` var a: @Vector(2, u16) = .{1, 2}; var b: @Vector(2, u8) = .{2, 1}; const c = @min(a, b); ``` where previously you had to cast explicitly: ``` var a: @Vector(2, u16) = .{1, 2}; var b: @Vector(2, u8) = .{2, 1}; var c: @Vector(2, u16) = b; const c = @min(a, c); ``` | |||
| 2023-03-07 | CBE: implement unsigned big int div and mod | Jacob Young | |
| 2023-03-07 | compiler_rt: fix rare case in udivei4 | Jacob Young | |
| Unsigned integers are never less than zero, and so zig helpfully deleted the entire case. :D Closes #14816 | |||
| 2023-03-05 | Merge pull request #14789 from jacobly0/ditype | Andrew Kelley | |
| llvm: fix use after free with pointers to optional slices | |||
| 2023-03-05 | AstGen: ensure certain builtin functions return void | r00ster91 | |
| Fixes #14779 Co-authored-by: Veikka Tuominen <git@vexu.eu> | |||
| 2023-03-05 | behavior: disable failing tests | Jacob Young | |
| 2023-03-05 | behavior: fix comptime issue and disable failing test | Jacob Young | |
| 2023-03-05 | CBE: ensure uniqueness of more internal identifiers | Jacob Young | |
| 2023-03-05 | CBE: implement select and shuffle | Jacob Young | |
| 2023-03-05 | CBE: implement splat | Jacob Young | |
| 2023-03-05 | CBE: implement vector truncate | Jacob Young | |
| 2023-03-05 | CBE: implement vector element pointers | Jacob Young | |
| 2023-03-05 | CBE: implement vector operations | Jacob Young | |
| Also, bigint add and sub which is all I was actually trying to do. | |||
| 2023-03-05 | CBE: implement some big integer and vector unary operations | Jacob Young | |
| 2023-03-05 | CBE: implement big integer and vector comparisons | Jacob Young | |
| 2023-03-05 | CBE: implement big integer literals | Jacob Young | |
| 2023-03-04 | add behavior test case for previous commit | Andrew Kelley | |
| 2023-03-04 | Merge pull request #14781 from ziglang/codegen-cleanup | Jakub Konka | |
| codegen: move common logic for generating typed values from each native backend into codegen.zig | |||
| 2023-03-04 | Ast: properly handle sentinel-terminated slices in tuple | r00ster91 | |
| Co-authored-by: Veikka Tuominen <git@vexu.eu> | |||
| 2023-03-03 | arm: skip unimplemented behavior test for @fieldParentPtr | Jakub Konka | |
| 2023-02-24 | CBE: reuse locals with the same `CType` instead of `Type` | Jacob Young | |
| 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-23 | CBE: implement the future | Jacob Young | |
| Turns out f(...) will be supported one day. | |||
| 2023-02-23 | CBE: implement c varargs | Jacob Young | |
| Removed some backend test skip checks for things disabled in std. | |||
| 2023-02-23 | CType: fix lowering of generic function pointer | Jacob Young | |
| 2023-02-23 | CBE: cleanup field access | Jacob Young | |
| * 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-22 | Merge pull request #14691 from jacobly0/ctype | Andrew Kelley | |
| 2023-02-21 | CBE: fix windows test failures | Jacob Young | |
| 2023-02-21 | behavior: enable passing CBE tests | Jacob Young | |
| 2023-02-21 | Sema: implement @fieldParentPtr for unions | Isaac Freund | |
| 2023-02-20 | Merge pull request #14685 from ziglang/bitcast-fixes | Jakub Konka | |
| Bitcast fixes for self-hosted native backends | |||
| 2023-02-20 | arm: alloc new mcv in bitcast if cannot reuse operand | Jakub Konka | |
| 2023-02-20 | x86: alloc new mcv in bitcast if cannot reuse operand | Jakub Konka | |
| Implement missing pointees when ptr is in register. | |||
| 2023-02-19 | add test coverage for fixed bug. closes #5518 | Andrew Kelley | |
| 2023-02-19 | add test coverage for fixed bug. closes #5516 | Andrew Kelley | |
| 2023-02-19 | add test coverage for fixed bug. closes #5508 | Andrew Kelley | |
| 2023-02-19 | add test coverage for fixed bug. closes #5497 | Andrew Kelley | |
| 2023-02-18 | Sema: add missing coercion when checking for loop len | Andrew Kelley | |
| 2023-02-18 | implement error for unbounded for loops | Andrew Kelley | |
| 2023-02-18 | omit safety checks for element access in for loops | Andrew Kelley | |
| 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. | |||
