| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-12-02 | bring your own OS layer in the std lib | Andrew Kelley | |
| closes #3784 | |||
| 2019-12-02 | fix crash assigning optional struct with anon literal | Andrew Kelley | |
| closes #3827 | |||
| 2019-12-01 | fix invalid check for fn_inline property | Andrew Kelley | |
| 2019-12-01 | fix docs regressions | Andrew Kelley | |
| 2019-12-01 | fix regressions in compile error tests | Andrew Kelley | |
| 2019-12-01 | fix assigning to an unwrapped optional field in an inline loop | Andrew Kelley | |
| 2019-12-01 | add advanced IR debugging support | Andrew Kelley | |
| and use it to improve copy_const_val with regards to parent backrefs | |||
| 2019-12-01 | Merge remote-tracking branch 'origin/kill-ConstGlobalRefs' into ↵ | Andrew Kelley | |
| remove-array-type-coercion | |||
| 2019-12-01 | Merge remote-tracking branch 'origin/master' into remove-array-type-coercion | Andrew Kelley | |
| 2019-12-01 | sometimes free stuff from Zig IR pass 1 | Andrew Kelley | |
| Total bytes used in stage1 std lib tests: 3.418 -> 3.198 GiB (saving 225 MiB) There's still this from pass 1 not getting freed: Const: 6909049 items, 72 bytes each, total 474.407 MiB This is due to 2 things hanging on to references to IrAnalyze pointers: * ZigVar->owner_exec->analysis * LazyValue->ira The LazyValue one could be solved by memoizing the results after the lazy value is resolved, and then it could unref the IrAnalyze. ZigVars that are determined to be comptime const, could have their const_value set to that value, instead of using the mem_slot_index mechanism. This would prevent an IrAnalyze ref in some cases. | |||
| 2019-12-01 | inline ConstGlobalRefs into ZigValue | Andrew Kelley | |
| Having ConstGlobalRefs be a pointer in ZigValue was a hack that caused plenty of bugs. It was used to work around difficulties in type coercing array values into slices. However, after #3787 is merged, array values no longer type coerce into slices, and so this provided an opportunity to clean up the code. This has the nice effect of reducing stage1 peak RAM usage during the std lib tests from 3.443 GiB to 3.405 GiB (saving 39 MiB). There is one behavior test failing in this branch, which I plan to debug after merging #3787. | |||
| 2019-11-30 | free IrAnalyze sometimes | Andrew Kelley | |
| Total bytes used in stage1 std lib tests: 3.443 GiB -> 3.418 GiB | |||
| 2019-11-29 | fix typo in error note for integer casting | Andrew Kelley | |
| 2019-11-29 | fix empty result location for parameters not working | Andrew Kelley | |
| 2019-11-29 | fix `@bitCast` result coercing to error union by returning | Andrew Kelley | |
| 2019-11-29 | fix return result loc as peer result loc in inferred error set function | Andrew Kelley | |
| 2019-11-28 | more progress | Andrew Kelley | |
| 2019-11-27 | remove type coercion from array values to references | Andrew Kelley | |
| * Implements #3768. This is a sweeping breaking change that requires many (trivial) edits to Zig source code. Array values no longer coerced to slices; however one may use `&` to obtain a reference to an array value, which may then be coerced to a slice. * Adds `IrInstruction::dump`, for debugging purposes. It's useful to call to inspect the instruction when debugging Zig IR. * Fixes bugs with result location semantics. See the new behavior test cases, and compile error test cases. * Fixes bugs with `@typeInfo` not properly resolving const values. * Behavior tests are passing but std lib tests are not yet. There is more work to do before merging this branch. | |||
| 2019-11-26 | add compiler note for bad int coercion | Andrew Kelley | |
| closes #3724 | |||
| 2019-11-26 | add missing cast to generic function call result | Vexu | |
| 2019-11-26 | add missing cast to call result type | Vexu | |
| 2019-11-25 | stage1: fix bad intern counting | Michael Dusan | |
| 2019-11-25 | Merge pull request #3774 from mikdusan/stage1-intern-housekeeping | Michael Dusan | |
| stage1: consolodate interning | |||
| 2019-11-25 | move logic to the appropriate layers; add new compile error | Andrew Kelley | |
| 2019-11-25 | stage1: consolodate interning | Michael Dusan | |
| - merge const_void_val → intern.x_void - move const_zero_byte → intern.zero_byte - wrap intern access | |||
| 2019-11-25 | const interning for 1-possible-value types | Michael Dusan | |
| 2019-11-25 | unembed ZigValue from IrInstruction | Michael Dusan | |
| 2019-11-25 | rename ConstExprValue → ZigValue | Michael Dusan | |
| 2019-11-24 | Merge remote-tracking branch 'origin/master' into null-terminated-pointers | Andrew Kelley | |
| 2019-11-24 | fix compile errors for array sentinels mismatching | Andrew Kelley | |
| 2019-11-24 | fix casting `[N:x]T` to `[N]T` memcpying too many bytes | Andrew Kelley | |
| 2019-11-24 | fix compile error regressions | Andrew Kelley | |
| 2019-11-24 | add compile error for incompatible pointer sentinels | Andrew Kelley | |
| 2019-11-24 | fix comptime `@ptrCast` of pointers to arrays | Andrew Kelley | |
| 2019-11-24 | add type coercion: [:x]T to [*:x]T | Andrew Kelley | |
| 2019-11-24 | all tests passing | Andrew Kelley | |
| 2019-11-23 | structs can have fields with type `var` | Andrew Kelley | |
| behavior tests passing now | |||
| 2019-11-23 | update the stage1 implementation to the new proposal | Andrew Kelley | |
| See #3731 | |||
| 2019-11-21 | fix missing implicit cast in return instruction | Vexu | |
| 2019-11-21 | update tests, better error messages, update self-hosted tokenizer | Andrew Kelley | |
| 2019-11-21 | better error message when null termination does not match | Andrew Kelley | |
| 2019-11-21 | string literals are now null terminated | Andrew Kelley | |
| this also deletes C string literals from the language, and then makes the std lib changes and compiler changes necessary to get the behavior tests and std lib tests passing again. | |||
| 2019-11-21 | add null terminated pointers and arrays to self-hosted | Andrew Kelley | |
| as well as `@typeInfo` and `@Type` | |||
| 2019-11-21 | implement null terminated pointers | Andrew Kelley | |
| 2019-11-17 | fix bug on empty error union | daurnimator | |
| 2019-11-17 | Catch invalid type from peer resolution | LemonBoy | |
| Fixes #3703 | |||
| 2019-11-14 | rework layout of struct type fields | Andrew Kelley | |
| This removes the remaining hack in the implementation of anonymous struct literals, and they can now therefore now have greater than 16 fields/elements. | |||
| 2019-11-14 | rework comptime struct value layout, removing 1/2 hacks | Andrew Kelley | |
| in the implementation of anonymous struct literals | |||
| 2019-11-13 | add compile error for @atomicRmw on enum not being an .Xchg | Vexu | |
| 2019-11-13 | Merge pull request #3675 from Vexu/atomic-store | Andrew Kelley | |
| Add @atomicStore builtin | |||
