| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2023-09-23 | std.testing: expectEqualDeep() - support self-referential structs | travisstaloch | |
| 2023-09-23 | resinator: fix 32-bit builds | Andrew Kelley | |
| This is unfortunately not caught by the CI because the resinator code is not enabled unless `-Denable-llvm` is used. | |||
| 2023-09-23 | sema: fix mem leaks in inferred error set handling | Jakub Konka | |
| 2023-09-23 | Merge pull request #17174 from Snektron/spirv-stuffies | Andrew Kelley | |
| spirv gaming | |||
| 2023-09-23 | spirv: fixes | Robin Voetter | |
| 2023-09-23 | spirv: air dbg_var_val and dbg_var_ptr | Robin Voetter | |
| 2023-09-23 | spirv: fix blocks that return no value | Robin Voetter | |
| 2023-09-23 | spirv: fix source line numbers | Robin Voetter | |
| 2023-09-23 | spirv: enable passing tests | Robin Voetter | |
| 2023-09-23 | spirv: constant elem ptr | Robin Voetter | |
| 2023-09-23 | spirv: air slice | Robin Voetter | |
| 2023-09-23 | spirv: air wrap_errunion_payload | Robin Voetter | |
| 2023-09-23 | spirv: air unwrap_errunion_payload | Robin Voetter | |
| 2023-09-23 | spirv: air is_err, is_non_err | Robin Voetter | |
| 2023-09-23 | spirv: generate module initializer | Robin Voetter | |
| 2023-09-23 | spirv: air array_elem_val using hack | Robin Voetter | |
| SPIR-V doesn't support true element indexing, so we probably need to switch over to isByRef like in llvm for this to work properly. Currently a temporary is used, which at least seems to work. | |||
| 2023-09-23 | spirv: air aggregate_init for array | Robin Voetter | |
| 2023-09-23 | spirv: air array_to_slice | Robin Voetter | |
| 2023-09-23 | spirv: air sub_with_overflow | Robin Voetter | |
| 2023-09-23 | spirv: air union_init | Robin Voetter | |
| 2023-09-23 | spirv: air set_union_tag + improve load()/store() | Robin Voetter | |
| 2023-09-23 | spirv: air struct_field_ptr for unions | Robin Voetter | |
| 2023-09-23 | spirv: air struct_field_val for unions | Robin Voetter | |
| 2023-09-23 | spirv: add names to globals and initializers | Robin Voetter | |
| 2023-09-23 | spirv: emit OpLogical(Not)Equal for comparing bools | Robin Voetter | |
| 2023-09-23 | spirv: emit OpNot for arithmetic not | Robin Voetter | |
| 2023-09-23 | spirv: fix store of undef | Robin Voetter | |
| 2023-09-23 | spirv: also add Float64 by default | Robin Voetter | |
| 2023-09-23 | spirv: fix type_map use-after-realloc issues | Robin Voetter | |
| 2023-09-23 | spirv: make construct(Struct|Array) use the Function storage class | Robin Voetter | |
| 2023-09-23 | spirv: always emit unsigned integers | Robin Voetter | |
| This is required for SPIR-V in Kernel mode. The Intel implementation just didn't care about this fact. | |||
| 2023-09-23 | spirv: fixes | Robin Voetter | |
| 2023-09-23 | spirv: remove indirect constant lowering | Robin Voetter | |
| It is stupid and I hate it. | |||
| 2023-09-23 | spirv: put global var initializers in functions | Robin Voetter | |
| 2023-09-23 | spirv: lower union initialization at runtime | Robin Voetter | |
| 2023-09-23 | spirv: lower struct aggregate initialization at runtime | Robin Voetter | |
| 2023-09-23 | spirv: lower array aggregate at runtime | Robin Voetter | |
| 2023-09-23 | spirv: lower opt constants | Robin Voetter | |
| 2023-09-23 | spirv: lower ptr constants | Robin Voetter | |
| 2023-09-23 | spirv: lower enum_tag constants | Robin Voetter | |
| 2023-09-23 | spirv: assign type names to (error) unions | Robin Voetter | |
| 2023-09-23 | spirv: construct error union at runtime | Robin Voetter | |
| 2023-09-23 | spirv: add type_map to map AIR types to SPIR-V types | Robin Voetter | |
| This will help us both to make the implementation a little more efficient by caching emission for certain types like structs, and also allow us to attach extra information about types that we can use while lowering without performing a search over the entire type tree for some property. | |||
| 2023-09-23 | spirv: disable failing tests | Robin Voetter | |
| 2023-09-23 | Fix reportRetryableWin32ResourceError | Ryan Liptak | |
| Follow up to https://github.com/ziglang/zig/pull/17069. This TODO being left in was a complete oversight. Before, any 'retryable' error would hit: error: thread 2920 panic: access of union field 'success' while field 'failure_retryable' is active Now, it will be reported/handled properly: C:\Users\Ryan\Programming\Zig\zig\test\standalone\windows_resources\res\zig.rc:1:1: error: FileNotFound | |||
| 2023-09-23 | Sema: do not emit dbg_var_val and dbg_var_ptr instructions for comptime-only ↵ | mlugg | |
| types | |||
| 2023-09-23 | Sema: don't attempt to reinterpret comptime-only types when mutating ↵ | mlugg | |
| comptime memory I have no idea how correct this code is, but I'm working on a full rewrite of this logic anyway, and this certainly seems more correct than before. | |||
| 2023-09-23 | Sema: refactor detection of comptime-known consts | mlugg | |
| This was previously implemented by analyzing the AIR prior to the ZIR `make_ptr_const` instruction. This solution was highly delicate, and in particular broke down whenever there was a second `alloc` between the `store` and `alloc` instructions, which is especially common in destructure statements. Sema now uses a different strategy to detect whether a `const` is comptime-known. When the `alloc` is created, Sema begins tracking all pointers and stores which refer to that allocation in temporary local state. If any store is not comptime-known or has a higher runtime index than the allocation, the allocation is marked as being runtime-known. When we reach the `make_ptr_const` instruction, if the allocation is not marked as runtime-known, it must be comptime-known. Sema will use the set of `store` instructions to re-initialize the value in comptime memory. We optimize for the common case of a single `store` instruction by not creating a comptime alloc in this case, instead directly plucking the result value from the instruction. Resolves: #16083 | |||
| 2023-09-23 | TypedValue: print undef @ptrFromInt pointers correctly | mlugg | |
| 2023-09-22 | Merge pull request #15490 from kcbanner/skip_oom_steps | Andrew Kelley | |
| build_runner: add --skip-oom-steps | |||
