| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2020-01-16 | allow non-exhaustive enums with no fields | Vexu | |
| 2020-01-16 | turn panics into compile errors, require at least 1 field in non-exhaustive enum | Vexu | |
| 2020-01-15 | small fixes | Vexu | |
| * error for '_' prong on exhaustive enum * todo panic for `@tagName` on non-exhaustive enum * don't require '_' field on tagged unions | |||
| 2020-01-15 | require size for non-exhaustive enums | Vexu | |
| 2020-01-15 | implement non-exhaustive enums | Vexu | |
| 2020-01-14 | Fix ICE when BoundFn are passed as parameters | LemonBoy | |
| Closes #4022 Closes #3699 | |||
| 2020-01-13 | add an extra assert | Andrew Kelley | |
| 2020-01-10 | Don't special-case `builtin` too much | LemonBoy | |
| Let's use the usual declaration-searching mechanism that resolves the `usingnamespace` declarations on the go instead of directly peeking into the symbol table. Fixes #4134 | |||
| 2020-01-09 | New @export() handling | LemonBoy | |
| Use a struct as second parameter to be future proof (and also allows to specify default values for the parameters) Closes #2679 as it was just a matter of a few lines of code. | |||
| 2020-01-08 | Propagate more failures upwards | LemonBoy | |
| Fixes #4112 | |||
| 2020-01-06 | fix test suite regressions | Andrew Kelley | |
| 2020-01-06 | remove stdcallcc, extern, nakedcc from stage1; zig fmt rewrites | Andrew Kelley | |
| 2020-01-06 | Merge branch 'cc-work' of https://github.com/LemonBoy/zig into LemonBoy-cc-work | Andrew Kelley | |
| 2020-01-03 | Correct evaluation of optional type alignment | LemonBoy | |
| The lazy logic was too oversimplified and produced a different result than the one computed later causing all kinds of problems. Closes #4013 | |||
| 2020-01-02 | Implement Thiscall CC | LemonBoy | |
| 2020-01-02 | Catch more errors during the type resolution phase | LemonBoy | |
| Returning the uninitialized/stale error condition made the compiler turn a blind eye to some problems. | |||
| 2020-01-02 | Implement the callconv() annotation | LemonBoy | |
| 2019-12-30 | fix comparing comptime_int against undefined literal | Andrew Kelley | |
| closes #4004 | |||
| 2019-12-30 | Resolve more types as needed | LemonBoy | |
| Closes #3994 | |||
| 2019-12-22 | report compile errors instead of crashing when frame is invalid | Andrew Kelley | |
| 2019-12-17 | Make sure the fields array is always non-null | LemonBoy | |
| Fixes #3497 | |||
| 2019-12-16 | allow comparison of any numeric types | Andrew Kelley | |
| 2019-12-15 | improve extern enum | Vexu | |
| 2019-12-15 | Generate the fn pointers into the correct address space | LemonBoy | |
| Fixes #3645 | |||
| 2019-12-12 | un-special-case startup code in the std lib | Andrew Kelley | |
| Previously, the compiler had special logic to determine whether to include the startup code, which was in `std/special/start.zig`. Now, the file is moved to `std/start.zig`, and there is no special logic in the compiler. Instead, the standard library unconditionally imports the `start.zig` file, which then has a `comptime` block that does the logic of determining what, if any, start symbols to export. Instead of `start.zig` being in its own special package, it is just another normal file that is part of the standard library. `std.builtin.TestFn` is now part of the standard library rather than specially generated by the compiler. | |||
| 2019-12-10 | Replace typeOf with TypeOf in stage0 | Robin Voetter | |
| 2019-12-09 | remove var args from the language | Andrew Kelley | |
| closes #208 | |||
| 2019-12-08 | implement tuple concatenation | Andrew Kelley | |
| 2019-12-08 | tuple detection does not require AST node | Andrew Kelley | |
| 2019-12-08 | Make array types (quasi-)lazy | LemonBoy | |
| Fixes #3843 | |||
| 2019-12-08 | fix anon struct literal field initialized with fn call | Andrew Kelley | |
| 2019-12-08 | add syntax for comptime struct fields | Andrew Kelley | |
| 2019-12-08 | implement comptime struct fields | Andrew Kelley | |
| 2019-12-06 | remove `@inlineCall` from zig | Andrew Kelley | |
| 2019-12-05 | implement `@call` | Andrew Kelley | |
| closes #3732 | |||
| 2019-12-03 | move more startup code to std lib | Vexu | |
| 2019-12-03 | Pick up WinMain with proper CC | LemonBoy | |
| 2019-12-01 | Merge remote-tracking branch 'origin/kill-ConstGlobalRefs' into ↵ | Andrew Kelley | |
| remove-array-type-coercion | |||
| 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 | Merge pull request #3284 from Sahnvour/export_variables | Andrew Kelley | |
| Improved support for exporting variables | |||
| 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 | unembed ZigValue from IrInstruction | Michael Dusan | |
| 2019-11-25 | rename ConstExprValue → ZigValue | Michael Dusan | |
| 2019-11-25 | more sentinel-terminated pointers std lib integration | Andrew Kelley | |
| See #3767 | |||
| 2019-11-24 | make std.mem.toSlice use null terminated pointers | Andrew Kelley | |
| and fix the fallout | |||
| 2019-11-24 | Merge remote-tracking branch 'origin/master' into null-terminated-pointers | Andrew Kelley | |
| 2019-11-24 | export: check variable type | Sahnvour | |
| also fixed existing occurrences | |||
