| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2023-03-03 | sema: Place functions on AVR in flash addrspace | Eckhart Köppen | |
| - Use .flash as the default address space for functions on AVR - Return .flash as the address space for function pointers on AVR without explicit address space | |||
| 2023-02-21 | Merge pull request #14664 from mlugg/feat/new-module-cli | Andrew Kelley | |
| New module CLI | |||
| 2023-02-21 | Sema: implement @fieldParentPtr for unions | Isaac Freund | |
| 2023-02-21 | Implement new module CLI | mlugg | |
| 2023-02-19 | implement `writeToMemory`/`readFromMemory` for pointers | Veikka Tuominen | |
| 2023-02-18 | Sema: add missing coercion when checking for loop len | Andrew Kelley | |
| 2023-02-18 | omit safety check when incrementing for loop counter | Andrew Kelley | |
| Since for loops are statically analyzed to have an upper bound, and the loop counter is a usize, it is impossible for it to overflow. | |||
| 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. | |||
| 2023-02-18 | improve error message for byref capture of byval array | Andrew Kelley | |
| 2023-02-18 | fix source location for not-indexable for loop errors | Andrew Kelley | |
| 2023-02-18 | Sema: improve error message for mismatched for loop lengths | Andrew Kelley | |
| 2023-02-18 | Sema: fix for loops with comptime-known int ranges | Andrew Kelley | |
| 2023-02-18 | update std lib and compiler sources to new for loop syntax | Andrew Kelley | |
| 2023-02-18 | Sema: implement for_len | Andrew Kelley | |
| This also makes another breaking change to for loops: in order to capture a pointer of an element, one must take the address of array values. This simplifies a lot of things, and makes more sense than how it was before semantically. It is still legal to use a for loop on an array value if the corresponding element capture is byval instead of byref. | |||
| 2023-02-18 | AstGen: back to index-based for loops | Andrew Kelley | |
| 2023-02-18 | AstGen: finish multi-object for loops | Andrew Kelley | |
| This strategy uses pointer arithmetic to iterate through the loop. This has a problem, however, which is tuples. AstGen does not know whether a given indexable is a tuple or can be iterated based on contiguous memory. Tuples unlike other indexables cannot be represented as a many-item pointer that is incremented as the loop counter. So, after this commit, I will modify AstGen back closer to how @vexu had it before, using a counter and array element access. | |||
| 2023-02-18 | AstGen: rework multi-object for loop | Andrew Kelley | |
| * Allow unbounded looping. * Lower by incrementing raw pointers for each iterable rather than incrementing a single index variable. This elides safety checks without any analysis required thanks to the length assertion and lowers to decent machine code even in debug builds. - An "end" value is selected, prioritizing a counter if possible, falling back to a runtime calculation of ptr+len on a slice input. * Specialize on the pattern `0..`, avoiding an unnecessary subtraction instruction being emitted. * Add the `for_check_lens` ZIR instruction. | |||
| 2023-02-15 | split `@qualCast` into `@constCast` and `@volatileCast` | Veikka Tuominen | |
| 2023-02-11 | Sema: fix typo in `zirCUndef` | Veikka Tuominen | |
| Closes #14617 | |||
| 2023-02-11 | Sema: add missing peer type resolution for error unions | Veikka Tuominen | |
| Closes #14077 | |||
| 2023-02-11 | Sema: validate inferred error set payload type | Veikka Tuominen | |
| This was missed in b0a55e1b3be3a274546f9c18016e9609d546bdb0 | |||
| 2023-02-01 | Merge pull request #14477 from Vexu/fixes | Andrew Kelley | |
| Improve `@ptrCast` errors, fix some bugs | |||
| 2023-02-02 | Merge pull request #14502 from ziglang/link-owned-atoms | Jakub Konka | |
| link: move ownership of linker atom from frontend to the linkers | |||
| 2023-02-01 | Sema: fix error location on comptime arg to typed generic param | Veikka Tuominen | |
| Closes #14505 | |||
| 2023-02-01 | link: remove union types which are now internal to backends | Jakub Konka | |
| 2023-02-01 | link: make Wasm atoms fully owned by the linker | Luuk de Gram | |
| 2023-02-01 | link: make Plan9 atoms fully owned by the linker | Jakub Konka | |
| 2023-01-31 | move compiler's CType logic to std.Target | Andrew Kelley | |
| This API only depends on std.Target and is extremely useful in build scripts when populating configure files. | |||
| 2023-01-31 | link: make Coff atoms fully owned by the linker | Jakub Konka | |
| 2023-01-31 | link: make Elf atoms fully owned by the linker | Jakub Konka | |
| 2023-01-31 | Sema: emit compile error for comptime or inline call of function pointer | r00ster91 | |
| 2023-01-31 | link: make MachO atoms fully owned by the linker | Jakub Konka | |
| 2023-01-30 | implement `@qualCast` | Veikka Tuominen | |
| 2023-01-30 | Sema: replace backticks with single quotes | Veikka Tuominen | |
| Most error messages already use single quotes for everything so this makes the remaining ones consistent. | |||
| 2023-01-30 | Sema: add helpful notes to invalid `@ptrCast` operations | Veikka Tuominen | |
| Closes #14474 | |||
| 2023-01-30 | Sema: ensure args to inline comptime args are comptime-known | Veikka Tuominen | |
| Closes #14413 | |||
| 2023-01-27 | self-hosted: remove allocateDeclIndexes from the public link.File API | Jakub Konka | |
| 2023-01-22 | Package: store package name directly | mlugg | |
| By @Vexu's suggestion, since fetching the name from the parent package is error-prone and complex, and optimising Package for size isn't really a priority. | |||
| 2023-01-22 | Sema: fix error message for bad pointer arithmetic | Veikka Tuominen | |
| Closes #14388 | |||
| 2023-01-22 | Sema: fix unwrapping null when reporting error on member access | Veikka Tuominen | |
| Closes #14399 | |||
| 2023-01-22 | Sema: resolve fields before checking tuple len | Veikka Tuominen | |
| Closes #14400 | |||
| 2023-01-22 | Value: implement `compareAllWithZero` for `bytes` and `str_lit` | Veikka Tuominen | |
| Closes #10692 | |||
| 2023-01-22 | Sema: handle lazy values in more places | Veikka Tuominen | |
| * resolve lazy values in anon structs being passed to anytype params * use `resolveMaybeUndefValIntable` where appropriate Closes #14356 | |||
| 2023-01-17 | Sema: do not create slices with undefined pointers | Veikka Tuominen | |
| The undef pointer ended up being zero on wasm32. | |||
| 2023-01-17 | Sema: fix bad boolean logic for cast to null panic | Veikka Tuominen | |
| Closes #14349 | |||
| 2023-01-17 | Sema: promote smaller float types passed to variadic functions | Veikka Tuominen | |
| Closes #6854 | |||
| 2023-01-17 | Sema: resolve lazy values in switch prong items | Veikka Tuominen | |
| Closes #14330 | |||
| 2023-01-17 | Sema: ignore dependency loops in typeinfo decls | Veikka Tuominen | |
| This matches stage1 behavior. Closes #14322 | |||
| 2023-01-16 | Sema: automatically optimize order of struct fields | Veikka Tuominen | |
| This is a simple starting version of the optimization described in #168 where the fields are just sorted by order of descending alignment. | |||
