| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2022-12-18 | llvm: avoid creating an invalid llvm type | Jacob Young | |
| Fixes the following assertion: ``` zig: llvm/lib/IR/Type.cpp:729: static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int): Assertion `isValidElementType(EltTy) && "Invalid type for pointer element!"' failed. ``` | |||
| 2022-12-18 | llvm: fix lowering pointer to final zero-width field of a comptime value | Jacob Young | |
| * Handle a `null` return from `llvmFieldIndex`. * Add a behavior test to test this code path. * Reword this test name, which incorrectly described how pointers to zero-bit fields behave, and instead describe the actual test. | |||
| 2022-12-18 | Merge pull request #13914 from Vexu/variadic | Andrew Kelley | |
| implement defining C variadic functions | |||
| 2022-12-18 | Revert "llvm: fix lowering pointer to final zero-width field of a comptime ↵ | Andrew Kelley | |
| value" This reverts commit e0bc5f65b98d154b4318027d56f780b55605e33c. Caused an assertion failure when running the behavior tests: ``` zig: llvm/lib/IR/Type.cpp:729: static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int): Assertion `isValidElementType(EltTy) && "Invalid type for pointer element!"' failed. Aborted (core dumped) ``` | |||
| 2022-12-18 | Merge pull request #13930 from r00ster91/renamings | Veikka Tuominen | |
| std.builtin: renamings | |||
| 2022-12-18 | llvm: fix lowering pointer to final zero-width field of a comptime value | Jacob Young | |
| * Handle a `null` return from `llvmFieldIndex`. * Add a behavior test to test this code path. * Reword this test name, which incorrectly described how pointers to zero-bit fields behave, and instead describe the actual test. | |||
| 2022-12-17 | std.builtin: rename Type.UnionField and Type.StructField's field_type to type | r00ster91 | |
| 2022-12-17 | implement defining C variadic functions | Veikka Tuominen | |
| 2022-12-17 | zig fmt: fix extra whitespace with multiline strings | yujiri8 | |
| Fixes #13937 | |||
| 2022-12-16 | codegen - lower str_lit to vector | Travis Staloch | |
| 2022-12-15 | port packed vector elem ptr logic from stage1 | Veikka Tuominen | |
| Closes #12812 Closes #13925 | |||
| 2022-12-13 | remove `stack` option from `@call` | Veikka Tuominen | |
| 2022-12-10 | CBE: fix compiling for aarch64-windows | Jacob Young | |
| These bugs were triggered in the C backend by aarch64-specific code in os/windows.zig. Intentionally not updating zig1.wasm yet because of upcoming changes and since aarch64-windows is not tested on master yet. | |||
| 2022-12-09 | Eliminate `BoundFn` type from the language | Veikka Tuominen | |
| Closes #9484 | |||
| 2022-12-09 | llvm: resolve all relative paths when creating DIFiles | Jakub Konka | |
| This will make stack traces and debugging experience more consistent in the sense that the presence of source lines in stack traces will not be dependent on the current working directory of the running process. | |||
| 2022-12-06 | remove most conditional compilation based on stage1 | Andrew Kelley | |
| There are still a few occurrences of "stage1" in the standard library and self-hosted compiler source, however, these instances need a bit more careful inspection to ensure no breakage. | |||
| 2022-12-06 | CBE: avoid trailing space | Jacob Young | |
| 2022-12-06 | CBE: add windows-specific reserved identifiers | Jacob Young | |
| 2022-12-06 | CBE: fix bad local reuse for volatile memset | Jacob Young | |
| 2022-12-04 | CBE: revert broken change that got missed | Jacob Young | |
| 2022-12-04 | CBE: defer invariant local reuse in loops | Jacob Young | |
| When a local defined outside a loop dies inside the loop, it can still be needed on subsequent loop iterations, so reuse of the local must be deferred until after the loop ends. This causes behavior tests to pass. | |||
| 2022-12-04 | CBE: fix liveness issue with wrapping optionals | Andrew Kelley | |
| 2022-12-04 | CBE: remove stray comment | Andrew Kelley | |
| 2022-12-04 | CBE: fix union init wrong field name | Andrew Kelley | |
| 2022-12-04 | CBE: aggregate_init: resolve all operands before processing Liveness | Andrew Kelley | |
| 2022-12-04 | CBE and LLVM: handle unused try instructions | Andrew Kelley | |
| In both backends they did not observe the Liveness information for try instructions. Now they do. For the C backend this is necessary for correctness; for the LLVM backend, it improves code generation. | |||
| 2022-12-04 | CBE: fix various regressions caught by behavior tests | Andrew Kelley | |
| 2022-12-04 | CBE: fix static allocs being double allocated | Andrew Kelley | |
| 2022-12-04 | CBE: avoid curly inits because they don't work in assignments | Andrew Kelley | |
| 2022-12-04 | CBE: fix use-after-free of Type keys in free_locals map | Andrew Kelley | |
| 2022-12-04 | CBE: fix assignment expr and switch free tracking | Andrew Kelley | |
| 2022-12-04 | CBE: fix clone of freed locals not being deep clone | Andrew Kelley | |
| 2022-12-04 | CBE: take advantage of switch_br and cond_br liveness | Andrew Kelley | |
| 2022-12-04 | CBE: exploit Liveness analysis to reuse locals | Andrew Kelley | |
| 2022-12-04 | Revert "cbe: reduce amount of temporary locals" | Andrew Kelley | |
| This reverts commit 15cc83e27ae8a1740d9b7e2ec14044903979a832. | |||
| 2022-12-04 | Revert "cbe: write more instructions inline" | Andrew Kelley | |
| This reverts commit f8b779c114a5fcb82f08168912f2300d7027a2fd. | |||
| 2022-12-03 | cbe: add forward declarations for optionals and error unions | Jacob Young | |
| Arrays will have to wait for type rewrite. | |||
| 2022-12-03 | cbe: implement function alignment | Jacob Young | |
| 2022-12-03 | cbe: fix zero-bit struct field pointer | Jacob Young | |
| 2022-12-03 | cbe: implement multiple exports of a symbols | Jacob Young | |
| 2022-12-03 | cbe: don't emit extern decls that are already exported | Jacob Young | |
| 2022-12-03 | cbe: fix named constraints without modifiers | Jacob Young | |
| 2022-12-03 | CBE: no braces when lowering block instruction | Andrew Kelley | |
| This change alone solves the bracket-depth issue when compiling zig1.c with Clang. | |||
| 2022-12-03 | Merge pull request #13748 from jacobly0/c-unaligned | Andrew Kelley | |
| cbe: use memcpy for underaligned loads and stores | |||
| 2022-12-03 | Merge pull request #13744 from Vexu/stage2-fixes | Andrew Kelley | |
| Improve error messages, fix dependency loops | |||
| 2022-12-02 | cbe: add support for constraint modifiers specified after a colon | Jacob Young | |
| This translates `%[name:mod]` to `%mod[name]` for C. | |||
| 2022-12-02 | cbe: use memcpy for underaligned loads and stores | Jacob Young | |
| 2022-12-02 | CBE: use bool, true, false, instead of `zig_` prefixes | Andrew Kelley | |
| In general the C backend should lower to human-maintainable C code whenever possible. Directly using C types that one would use when writing C code is one part of the strategy. The concern with including stdint.h is C89 compatibility. Well, we can just check the C std lib version before deciding to include that header. | |||
| 2022-12-02 | CBE: use a 0 literal instead of `error.@"(no error)"` | Andrew Kelley | |
| This saves bytes and is easier to read too. | |||
| 2022-12-03 | Sema: fix comparisons between lazy and runtime values | Veikka Tuominen | |
| Closes #12498 | |||
